查询不返回使用内部连接的所有行
问题描述:
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