查询不使用内部联接返回所有行

时间:2013-06-05 11:13:28

标签: sqlite inner-join

SELECT table1.* , table2.Value 
FROM table1  
INNER JOIN  table2 
ON table1.id = table2.id 
WHERE table2.Label = "Currency"

这是查询。即使Label = currency不存在,我也需要返回值。 即,我需要返回具有唯一ID的table1的所有行。如果table2有货币,则应该使用货币值,否则应返回空值。

3 个答案:

答案 0 :(得分:1)

听起来就像你想要的东西一样。

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

我假设table2.value是你正在谈论的货币价值。

编辑您的问题,并粘贴CREATE TABLE语句以获得更多更好的答案。

答案 1 :(得分:1)

尝试使用OUTER JOIN:

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

答案 2 :(得分:0)

试试这个

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