2013-06-05 48 views
0
SELECT table1.* , table2.Value 
FROM table1 
INNER JOIN table2 
ON table1.id = table2.id 
WHERE table2.Label = "Currency" 

這是查詢。即使Label = currency不存在,我也需要返回值。 即,我需要返回具有唯一ID的table1的所有行。如果表2有貨幣,那麼應該使用貨幣值,否則應該返回空值。查詢不返回使用內部連接的所有行

回答

1

嘗試使用OUTER JOIN這樣的:

SELECT table1.* , table2.Value 
FROM table1 
LEFT JOIN table2 
ON table1.id = table2.id 
AND table2.Label = "Currency" 
+0

感謝@Aziz謝赫。我不應該在table2.Label =「貨幣」處使用。有效 – arul

1

聽起來像你想要的東西沿着這些線。

SELECT table1.* , table2.Value 
FROM table1 
left join table2 on table1.id = table2.id 

我假設table2.value是您所談論的貨幣價值。

編輯您的問題,並粘貼CREATE TABLE語句以獲得更多更好的答案。

0

試試這個

SELECT table1.* , table2.Value FROM table1 left outer join table2 on table1.id = table2.id where table2.Label = "Currency"