由於我執行的左連接有時不會傳遞結果,因此我的「第一個」表的ID設置爲0.我現在想要選擇ID兩次,並使該副本不可變,以便即使在聯接失敗時仍可以訪問它。選擇相同的行兩次,並使複製不可變
這裏是我的查詢:
SELECT * FROM table1
LEFT JOIN table2 ON table1.ID = table2.ID
LEFT JOIN table3 ON table1.ID = table3.ID
每行table1中只有在任一表2表3或相同的ID,因此,對於每一行,兩個中的一個連接將「失敗」。以下是我得到的結果(模擬結果):
+------+------------+------------+------------+------------+------------+------------+
| ID | Table1Col1 | Table1Col2 | Table2Col1 | Table2Col2 | Table3Col1 | Table3Col2 |
+------+------------+------------+------------+------------+------------+------------+
| NULL | Something | Something | NULL | NULL | Something | Something |
| NULL | SomeValue | SomeValue | Something | Something | NULL | NULL |
+------+------------+------------+------------+------------+------------+------------+
我想實現的目標:使「ID」不爲NULL。
(另外,選擇「table1.ID作爲身份識別碼,*」給了我一個SQL錯誤)
(顯式地選擇價值是毫無疑問的設計原因)
您可以包括哪些錯誤? –
我認爲「不可變」不是正確的詞,因爲'*'只會提供一個ID字段,這可能是錯誤的。給出錯誤信息會有幫助。 – Jakumi