mehere Tabellen verbinden
-
Hey leute,
folgendes ich will bzw. muss 3 Tabellen miteinader verbinden. Ich hab es so in einem Buch gefunden nur das klappt nicht weil er nen Operator zwischen den Join's haben will.SELECT k.kunden , k.name , b.bestelldatum , p.artikel_nr FROM kunden AS k INNER JOIN bestellung AS b ON b.kunden_nr = k.kunden_nr INNER JOIN position AS p ON p.bestell_nr = b.bestell_nr GROUP BY k.kunden_nr , bestelldatum;
-
SELECT k.kunden , k.name, b.bestell_nr, b.bestelldatum, b.kunden_nr, p.artikel_nr, p.bestell_nr FROM kunden AS k,bestellung AS b,position AS p WHERE b.kunden_nr = k.kunden_nr AND p.bestell_nr = b.bestell_nr GROUP BY k.kunden_nr , bestelldatum;
warum nicht so ?
-
weil das ne Übung zu join ist
-
hmm naja trotz allem solltest du alle felder die du verwendest auch angeben
-
mosta schrieb:
Hey leute,
folgendes ich will bzw. muss 3 Tabellen miteinader verbinden. Ich hab es so in einem Buch gefunden nur das klappt nicht weil er nen Operator zwischen den Join's haben will.SELECT k.kunden , k.name , b.bestelldatum , p.artikel_nr FROM kunden AS k INNER JOIN bestellung AS b ON b.kunden_nr = k.kunden_nr INNER JOIN position AS p ON p.bestell_nr = b.bestell_nr GROUP BY k.kunden_nr , bestelldatum;
Mit was arbeitest du? mysql?
Momentan fällt mir jetzt auch nichts auf...1ntrud0r schrieb:
SELECT k.kunden , k.name, b.bestell_nr, b.bestelldatum, b.kunden_nr, p.artikel_nr, p.bestell_nr FROM kunden AS k,bestellung AS b,position AS p WHERE b.kunden_nr = k.kunden_nr AND p.bestell_nr = b.bestell_nr GROUP BY k.kunden_nr , bestelldatum;
warum nicht so ?
laaahm...
Wenn man es so macht, macht er erst einen ganz normalen Cross Join, und filtert dann die Datensätze raus... wenn man Joins benutzt fragt er wirklich nur die Datensätze ab, die man braucht...