Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL查询组合select语句_Sql_Sqlite - Fatal编程技术网

SQL查询组合select语句

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中没有值,我如何复制将输出值的同

我有如下SQL查询:

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
中没有值,我如何复制将输出值的同一语句?因此我可以访问value
r1.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开始…
当需要外部联接时。(您正在使用内部联接,但确实希望在此处使用外部联接。)