Da ich eine linke Verknüpfung mache, die manchmal kein Ergebnis liefert, wird die ID meiner "ersten" Tabelle irgendwie auf 0 gesetzt. Ich möchte jetzt die ID zweimal auswählen , und mache die Kopie unveränderlich, so dass ich immer noch darauf zugreifen kann, selbst wenn der Join fehlschlägt.Selektiere dieselbe Zeile zweimal, und mache die Kopie unveränderlich
Hier ist meine Frage:
SELECT * FROM table1
LEFT JOIN table2 ON table1.ID = table2.ID
LEFT JOIN table3 ON table1.ID = table3.ID
Jede Zeile in Tabelle 1 hat nur die gleiche ID in entweder table2 oder table3, so für jede Zeile, einer der beiden verbindet wird „nicht bestanden“. Hier ist, was ich als Ergebnis (Mock Ergebnis) erhalten:
+------+------------+------------+------------+------------+------------+------------+
| ID | Table1Col1 | Table1Col2 | Table2Col1 | Table2Col2 | Table3Col1 | Table3Col2 |
+------+------------+------------+------------+------------+------------+------------+
| NULL | Something | Something | NULL | NULL | Something | Something |
| NULL | SomeValue | SomeValue | Something | Something | NULL | NULL |
+------+------------+------------+------------+------------+------------+------------+
Was ich erreichen möchte: Halten „ID“ von NULL.
(Auch die Auswahl von "table1.ID als MyID, *" gibt mir ein SQL-Fehler)
(Werte Auswahl explizit steht außer Frage, aus Designgründen)
Was ist der Fehler können Sie einschließen? –
Ich denke, "unveränderlich" ist nicht das richtige Wort, da '*' nur ein ID-Feld zur Verfügung stellt, das möglicherweise nur das falsche ist. Die Fehlermeldung wäre hilfreich gewesen. – Jakumi