AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

JOINs

Ein Thema von handson · begonnen am 25. Aug 2014 · letzter Beitrag vom 28. Aug 2014
 
Dejan Vu
(Gast)

n/a Beiträge
 
#5

AW: JOINs

  Alt 25. Aug 2014, 14:46
Alternativ könnte man die beiden Artikeltabellen (Tabelle2 und Tabelle3) zu einer Tabelle kombinieren (mit UNION) und dann einen JOIN verwenden
Code:
select * 
  from tabelle1 h
       join (
         select ArtikelNr, Groesse, Menge from tabelle2 
         union
         select ArtikelNr, Groesse, Menge from tabelle3
       ) alleArtikel on h.ArtikelNr = alleArtikel.ArtikelNr
Noch besser wäre es vielleicht, die unschöne Aufteilung in zwei Artikeltabellen über eine View zu verbergen
Code:
create View AlleArtikel as
  select ArtikelNr, Groesse, Menge from tabelle2 
  union
  select ArtikelNr, Groesse, Menge from tabelle3
go

select * 
  from tabelle1 h
       join AlleArtikel a on a.ArtikelNr = h.ArtikelNr
Klar, wenn befürchten muss, das nicht alle Artikel der Tabelle1 in den anderen Tabellen sind, nimmt man 'LEFT JOIN' statt 'JOIN'. Tipp: Einen Dummyartikel 'NULL' anlegen, alle nicht vorhandenen Artikel der Tabelle1 durch NULL ersetzen und dann einen INNER JOIN verwenden. Ist schneller und die referenzielle Integrität ist gewahrt.
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz