0
我有兩個表。我想選擇表1中的所有行和表2中共享相同ID的任何行。我需要返回表1中的行,如果它們存在,則分別返回表1和表2中的連接行。如果表2中沒有匹配,我下面的當前代碼返回表1中的行。但是,如果表2中存在匹配,它將只返回連接的行。SQL從第一個表中返回行,然後分開加入表
SELECT
table1.id,
COALESCE(table2.name, table1.name) AS name
FROM
table1
LEFT JOIN
table2
ON
table1.id = table2.id
WHERE
table1.stock = 0
這裏就是我後:
**Table 1**
id | name | stock
101 | sock | 4
102 | hat | 0
103 | belt | 0
**Table 2**
id | name
101 | banana
102 | pear
102 | apple
**Query output**
id | name
102 | hat
102 | pear
102 | apple
103 | belt
表結構,樣本輸入和所需輸出 – amdixon
您所需的輸出和您的描述似乎沒有任何關係。您的描述從返回第一個表中的所有行開始,但101不在輸出中。 –
修好了 - 歡呼聲 – cianz