Hallo!
morgenstund hat gold im mund.
Na, dann hoffe ich daß meine Antwort nicht zu spät kommt :-)
... zumindest mal in jedem Fall einen Datensatz bekomme. Wie ich da jetzt einen Join zur Tabelle Sprachen zusammenbekomme und dort nach 'EN' bzw. 'DE' Abfrage ist mir offen gesagt ein Rätsel.
es sieht so aus, als wenn mein erster post doch nicht so ganz aus der luft gegriffen war. mich verwundert es ein wenig selbst, aber scheinbar wird die bedingung bitxt.Sprache = 1 nach dem LEFT JOIN ausgeführt und somit alle NULL datensätze in dieser spalte ausgeschlossen.
ausprobieren kannst du das, indem du die bedingung einfach mal wegläßt und schaust, ob du nun auch NULL werte erhälst.
Jo, so ist es, ich erhalte NULL-Werte, wenn ich die Bedingung weglasse:
Tabelle Bilder Tabelle Bildertexte Tabelle Sprachen
ID osname pxhoehe ID Text Sprache ID Kuerzel
------------------------- ------------------------------- ----------------
1 Kuh.jpg 400 1 Das ist eine Kuh 1 1 DE
2 Hund.jpg 450 1 This is a cow 2 2 EN
3 Schwein.jpg 500 3 Das ist ein Schwein 1
4 Gans 600 4 This is a goose 2
SELECT bi.osname,bi.pxhoehe,bi.pxbreite,bitxt.alttag,bitxt.title FROM Bilder as bi LEFT JOIN Bildertexte as bitxt ON (bi.PicNr = bitxt.BildNr) WHERE bi.osname ='Hund.jpg'
- bringt einen Datensatz, bitxt.alttag und bitxt.title sind leer - und das ist gut so.
SELECT bi.osname,bi.pxhoehe,bi.pxbreite,bitxt.alttag,bitxt.title FROM Bilder as bi LEFT JOIN Bildertexte as bitxt ON (bi.PicNr = bitxt.BildNr) WHERE bi.osname ='Hund.jpg' AND bitxt.Sprache = 1
- bringt keinen Datensatz, es gibt ja auch keine Entsprechung in Bildertexte - also ist es gut.
SELECT bi.osname,bi.pxhoehe,bi.pxbreite,bitxt.alttag,bitxt.title FROM Bilder as bi LEFT JOIN Bildertexte as bitxt ON (bi.PicNr = bitxt.BildNr) WHERE bi.osname ='Hund.jpg' AND bitxt.Sprache = 1 OR bitxt.Sprache is null
- bringt einen Datensatz, bitxt.alttag und bitxt.title sind leer - und das ist gut so.
Die Frage ist, wie bekomme ich es zustande, die 3. Tabelle "Sprachen" einzubinden, um »Kuerzel = 'EN'« oder »Kuerzel = 'DE'« in die Abfrage einbinden zu können.
Danke für Deine Bemühungen,
Viennamade