SQL查询组合select语句
我有如下SQL查询:SQL查询组合select语句,sql,sqlite,Sql,Sqlite,我有如下SQL查询: SELECT *r1.val, r2.prevVal FROM (Select statement) AS r1, (Select statement) AS r2 WHERE r1.object_id = r2.object_id 它工作,问题是,当r2select语句不返回任何内容时,整个语句不返回任何内容,因为它不能执行r1.object\u id=r2.object\u id 如果select语句r1中有值,而select语句r2中没有值,我如何复制将输出值的同
SELECT *r1.val, r2.prevVal
FROM (Select statement) AS r1,
(Select statement) AS r2
WHERE
r1.object_id = r2.object_id
它工作,问题是,当r2
select语句不返回任何内容时,整个语句不返回任何内容,因为它不能执行r1.object\u id=r2.object\u id
如果select语句r1
中有值,而select语句r2
中没有值,我如何复制将输出值的同一语句?因此我可以访问valuer1.val
使用左连接,如:
SELECT *r1.val, r2.prevVal
FROM (Select statement) AS r1
LEFT JOIN (Select statement) AS r2 ON r1.object_id = r2.object_id ---------------------Formatted as code
您是否从两个select语句中调用object_id?如果不是,您将得到一个错误您正在使用一个连接语法,该语法在1992年是多余的。你不应该再使用它了。改为使用显式联接:
从r1内部联接r2开始…
当需要内部联接时,或从r1左侧外部联接r2开始…
当需要外部联接时。(您正在使用内部联接,但确实希望在此处使用外部联接。)