SELECT table1.* , table2.Value
FROM table1
INNER JOIN table2
ON table1.id = table2.id
WHERE table2.Label = "Currency"
这是查询。即使Label = currency
不存在,我也需要返回值。即,我需要返回具有唯一 ID 的 table1 的所有行。如果 table2 有货币,则应采用货币值,否则应返回空值。
SELECT table1.* , table2.Value
FROM table1
INNER JOIN table2
ON table1.id = table2.id
WHERE table2.Label = "Currency"
这是查询。即使Label = currency
不存在,我也需要返回值。即,我需要返回具有唯一 ID 的 table1 的所有行。如果 table2 有货币,则应采用货币值,否则应返回空值。
尝试像这样使用 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"