Veröffentlicht 24. Juni 200421 j Juhu, also ich habe 4 Tabellen und möchte eine Abfrage, welche mir die Artikel, die der Kunde "Meier" bisher gekauft hat, ausliest. Hab bis jetzt folgendes :eek: SELECT * FROM Kunde LEFT JOIN Bestellung (ON Kunde.KundenNr = Bestellung.KundenNr) WHERE Kunde.KundenNr = 23558; So aber hier zeigt er mir alle Felder der Tabelle Kunde an, möchte aber Artikelbez, Hersteller, ArtikelNr und EPreis der Tabelle Artikel anzeigen lassen. Geht das also, gleichzeitig Felder der Tabelle Artikel anzeigen zu lassen und mit LEFT JOIN die Bedingung zu erfüllen? Bitte helft mir... MfG Sabine L.
24. Juni 200421 j Hallo, warum muss es denn gerade ein LEFT JOIN sein? Das ganze müsste doch auch mit einem normalen Join gehen. Frank
24. Juni 200421 j Deine Fragestellung ist etwas ungenau, aber wenn du aus der Kundentabelle selbst nicht noch einen Namen oder so möchtest kannst du das so machen: SELECT Artikel.ArtikelNr, Artikel.Artikelbez, Artikel.Hersteller, Artikel.EPreis FROM Artikel RIGHT JOIN Bestellung ON Artikel.ArtikelNr = Bestellung.ArtikelNr WHERE Bestellung.KundenNr = 23558; Hier holt er dir aus der Tabelle Artikel alle Daten, zu denen es eine Bestellung mit dieser Kundennummer gibt.
25. Juni 200421 j Es würde wohl auch so gehen: SELECT Artikel.ArtikelNr, Artikel.Artikelbez, Artikel.Hersteller, Artikel.EPreis FROM Artikel, Bestellung, Kunde WHERE Artikel.ArtikelNr = Bestellung.ArtikelNr AND Bestellung.KundenNr = Kunde.KundenNr AND Kunde.KundenNr = 23558; So kann man aus den verschiedenen Tabellen das nehmen, was man haben möchte....Wäre aber bissi einfacher, wenn man die Tabellen samt Schlüsseln kennen würde... Gruß, Katja
25. Juni 200421 j SELECT * FROM Kunde, Bestellung LEFT JOIN Bestellung (ON Kunde.KundenNr = Bestellung.KundenNr) WHERE Kunde.KundenNr = 23558;
25. Juni 200421 j hallöle,erstmal dankeschön, aber habe mich bissi umentschieden.. möchte noch den nachnamen und den vornamen der tabelle kunde mit auswählen lassen hab das ganze mal so in access gemacht: SELECT Bestellung.KundenNr, Bestellung.BestellungNr, Kunde.Nachname, Kunde.Vorname, Bestellung.Datum, Artikel.ArtikelNr, Artikel.Artikelbez, Artikel.Hersteller, Bestellposten.EPreis, Bestellposten.Menge, Bestellposten.Gesamtpreis FROM Kunde INNER JOIN (Bestellung INNER JOIN (Artikel INNER JOIN Bestellposten ON Artikel.ArtikelNr = Bestellposten.ArtikelNr) ON Bestellung.BestellungNr = Bestellposten.BestellungNr) ON Kunde.KundenNr = Bestellung.KundenNr WHERE (((Bestellung.KundenNr)=[Kunde].[KundenNr])); aber so ganz steig ich bei den ganzen inner joins nicht durch :confused: MfG
25. Juni 200421 j Lasst doch einfach mal die INNER/Natural JOINS weg.. Klar gehts so auch, is aber extrem ineffiezient.. SELECT Kunde.Name, Kunde.Vorname, Artikel.ArtikelNr, Artikel.Artikelbez, Artikel.Hersteller, Artikel.EPreis FROM Artikel RIGHT JOIN (Bestellung LEFT JOIN Kunde ON Bestellung.KundenNR = Kunde.KundenNr) ON Artikel.ArtikelNr = Bestellung.ArtikelNr WHERE Bestellung.KundenNr = 23558;
25. Juni 200421 j möchte aber Artikelbez, Hersteller, ArtikelNr und EPreis der Tabelle Artikel anzeigen lassen [...] habe mich bissi umentschieden.. möchte noch den nachnamen und den vornamen der tabelle kunde mit auswählen lassen SELECT t1.Vorname, t1.Nachname, t2.Artikelbez, t2.Hersteller, t2.Preis FROM Kunde t1 JOIN Bestellung t2 ON t1.KundenNr = t2.KundenNr AND t1.KundenNr = 23558 So würde ich das machen...
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.