[英]Comparing two SQL tables I want to always output a table 1 value if they have an ID in common output table 1 value and table 2 value
我正在比較兩個SQL表(表1和表2),如果它們具有相同的“ ID”,我想同時打印兩個表。 如果他們不共享“ ID”,我只想打印出第一個表值。 我進行了JOIN,但是我只能輸出具有匹配值的數據。 然后,我嘗試選擇SELECT *數據並將其放入數組中,然后使用PHP進行過濾,但是很麻煩。
SELECT table1.value, table2.additionalinfo
FROM table1
INNER JOIN table2
ON table1.ID=table2.ID
相反,將其設置為外部聯接-這樣,您將始終引入第一個表-如果存在,則僅從第二個表引入匹配的行:
SELECT table1.value, table2.additionalinfo
FROM table1
left outer JOIN table2
ON table1.ID=table2.ID
認真的說,請閱讀我發布的問答 ,它將詳細解釋這個答案。 我寫的是專門針對這樣的情況-你在哪里得到的回答你的問題,但可能沒有得到盡可能多的細節,並回答使其完全貼在你的頭腦-的Q&A說明了一切(如內,外連接例如)的細節。
我認為您需要“左外部連接”:
SELECT table1.value, table2.additionalinfo
FROM table1 LEFT JOIN
table2
ON table1.ID = table2.ID;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.