geloescht_sinhtoren Geschrieben 9. Oktober 2008 Teilen Geschrieben 9. Oktober 2008 Hallo! Ich nutze einen MS SQL Server 2005 und versuche verzweifelt folgende Abfrage zu gestalten: Ich habe 2 Tabellen aus den dich Daten benötige. In der ersten Tabelle sind z.B. 13 Datensätze. In der anderen sind z.B. 8. Es soll jeder Datensatz aus der ersten Tabelle ausgegeben werden, plus (falls vorhanden) die zugehörigen Daten aus der zweiten Tabelle. Ist kein Schlüssel in der 2. Tabelle vorhanden sollen die Felder leer sein. Derzeit bekomme ich es nur hin alle Datensätze auszugeben zu denen es in beiden Tabellen Daten gibt. Mein SQL-Statement sieht folgendermaßen aus: code: 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: SELECT KaS_Felder.F_ID, KaS_Felder.F_Kategorie_ID, KaS_Felder.F_Feldname, KaS_Felder.F_Feldtyp, KaS_Felder.F_Order, KaS_Felder.F_Backend_Order, KaS_Felder.F_IsListItem, KaS_Daten.D_KA_Feld_Value FROM KaS_Felder LEFT OUTER JOIN KaS_Daten ON KaS_Felder.F_ID = KaS_Daten.D_KA_Feld_ID WHERE (KaS_Felder.F_Kategorie_ID = 2) AND (KaS_Daten.D_KA_ID = 184) Dieser bringt mir folgende Daten zurück, die aber wie oben beschrieben nur die Schnittmenge beider Tabellen repräsentieren 2 2 brand combobox 20 10 True Audi 3 2 model textbox 30 30 True A3 4 2 version textbox 40 50 True Sport 5 2 price price 50 20 True 12000 6 2 milage int32 60 40 True 100000 12 2 city textbox 120 120 True Musterstadt 1 2 url textbox 140 140 True Example Web Page Ich Danke für jede Hilfe Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dr.dimitri Geschrieben 9. Oktober 2008 Teilen Geschrieben 9. Oktober 2008 Hi, das nennt sich Outer Join. Wie das geht kannst Dir hier ansehen. Dim Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jan Jansen Geschrieben 9. Oktober 2008 Teilen Geschrieben 9. Oktober 2008 (bearbeitet) Das ist doch ein OUTER JOIN SELECT KaS_Felder.F_ID, KaS_Felder.F_Kategorie_ID, KaS_Felder.F_Feldname, KaS_Felder.F_Feldtyp, KaS_Felder.F_Order, KaS_Felder.F_Backend_Order, KaS_Felder.F_IsListItem, KaS_Daten.D_KA_Feld_Value FROM KaS_Felder LEFT OUTER JOIN KaS_Daten ON KaS_Felder.F_ID = KaS_Daten.D_KA_Feld_ID WHERE (KaS_Felder.F_Kategorie_ID = 2) AND (KaS_Daten.D_KA_ID = 184) *fehlerhaften Hinweis entfernt* Bearbeitet 9. Oktober 2008 von Jan Jansen Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.