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

问题描述:

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" 
+0

感谢@Aziz谢赫。我不应该在table2.Label =“货币”处使用。有效 – arul

听起来像你想要的东西沿着这些线。

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"