Zuerst einmal: wie soll irgendjemand dir hier helfen, wenn du kein Beispiel lieferst?
Sollen wir raten, was bei dir nicht funktioniert? ;-)
Ok, wenn ich raten soll, dann tippe ich darauf, dass du einen LEFT JOIN suchst.
Hallo,
ich versuche gerade eine etwas komplexe Abfrage zu erstellen. Die Tabelle A soll Einträge zurück geben, wenn verschiedene Contraints, die in anderen Tabellen definiert sind, erfüllt sind. Das funktioniert auch soweit ganz gut, solange die Tabellen Einträge enthalten für den entsprechenden Datensatz in A, die entweder zutreffen, oder halt auch nicht. Wenn aber eine dieser Tabellen keinen Eintrag für einen Datensatz in A hat, dann soll dieser Datensatz dennoch zurück gegeben werden (da keine Einschränkung für ihn besteht). Mit joins hab ich das nicht hinbekommen, aber ich bin mir nicht sicher, ob ich nicht auch was falsch gemacht habe.
Vielen Dank schon mal für jeden Tipp,
Markus
Zuerst einmal: wie soll irgendjemand dir hier helfen, wenn du kein Beispiel lieferst?
Sollen wir raten, was bei dir nicht funktioniert? ;-)
Ok, wenn ich raten soll, dann tippe ich darauf, dass du einen LEFT JOIN suchst.
Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören
Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler
PostgreSQL Service & Support
Sry, hier ein Beispiel:
Das funktioniert, solange ich überall Einträge hab, die auf a.id verweisen. Ist jedoch zb leer, möchte ich, dass falls c und d zutreffen, oder auch leer sind, den entsprechenden Eintrag aus a bekomme. Im Moment ist das result leer.Code:SELECT a.id, a.url FROM a LEFT JOIN b ON ((b.aid = a.id AND b.start <= NOW() AND (b.until >= NOW() OR b.until IS NULL))) LEFT JOIN c ON (a.id = c.aid AND c.irgendwas like 'irgend%') LEFT JOIN d ON (a.id = d.aid AND d.categoryid = 12)
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
Links: Tobias Bauer - IT- und Funkdienstleistungen - Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen - Funkforum
Lesezeichen