我想通过子查询返回多个列。
E.G,
select a.name, a.age
from table1 a, ( select b.race, b.weight from table2 b where dateDiff(dd, b.date1, b.date2 ) < 30 )
where a.age > 24
有些人说“只使用连接” - 我不希望子查询中的dateDiff影响父查询的结果。同样,我的真实查询比这更复杂,但这应该足以解释我的问题。
答案 0 :(得分:3)
使用左连接执行此操作,左连接将返回NULL值
SELECT a.name, b.score, ...
FROM (select id, name, ... from table1 where ???) a
LEFT JOIN (select id, score, ... from table2 where ???) b on (a.id = b.id)
WHERE clause