簡體   English   中英

比較兩個SQL表,如果它們在公共輸出表1值和表2值中有一個ID,我想始終輸出表1的值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM