SELECT table1.* , table2.Value
FROM table1
INNER JOIN table2
ON table1.id = table2.id
WHERE table2.Label = "Currency"
這是查詢。即使Label = currency
不存在,我也需要返回值。 即,我需要返回具有唯一ID的table1的所有行。如果表2有貨幣,那麼應該使用貨幣值,否則應該返回空值。查詢不返回使用內部連接的所有行
SELECT table1.* , table2.Value
FROM table1
INNER JOIN table2
ON table1.id = table2.id
WHERE table2.Label = "Currency"
這是查詢。即使Label = currency
不存在,我也需要返回值。 即,我需要返回具有唯一ID的table1的所有行。如果表2有貨幣,那麼應該使用貨幣值,否則應該返回空值。查詢不返回使用內部連接的所有行
嘗試使用OUTER JOIN這樣的:
SELECT table1.* , table2.Value
FROM table1
LEFT JOIN table2
ON table1.id = table2.id
AND table2.Label = "Currency"
它聽起來像你想要的東西沿着這些線。
SELECT table1.* , table2.Value
FROM table1
left join table2 on table1.id = table2.id
我假設table2.value是您所談論的貨幣價值。
編輯您的問題,並粘貼CREATE TABLE語句以獲得更多更好的答案。
試試這個
SELECT table1.* , table2.Value FROM table1 left outer join table2 on table1.id = table2.id where table2.Label = "Currency"
感謝@Aziz謝赫。我不應該在table2.Label =「貨幣」處使用。有效 – arul