Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.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
连接查询的MySQL错误_Mysql_Inner Join - Fatal编程技术网

连接查询的MySQL错误

连接查询的MySQL错误,mysql,inner-join,Mysql,Inner Join,不确定以下查询的错误是什么 select r.request_id, rr.request_result_id,r.date_submitted from request_results rr inner join requests r on rr.request_id = r.request_id where ((rr.file_size IS NULL) or length(rr.results) = 0) and r.date_submitted >= CU

不确定以下查询的错误是什么

select  r.request_id, rr.request_result_id,r.date_submitted
from request_results rr 
  inner join requests r on rr.request_id = r.request_id 
  where ((rr.file_size IS NULL) or length(rr.results) = 0) 
     and r.date_submitted >= CURDATE() 
order by r.request_id, rr.request_result_id request_results;

错误1064(42000):您的SQL语法有错误;查看与MySQL服务器版本对应的手册,以了解在第1行“request_results”附近使用的正确语法

order by r.request_id, rr.request_result_id request_results
“请求结果”在这里指的是什么

换成

order by r.request_id, rr.request_result_id, r.request_results

你最后漏了一个逗号。尝试此选项,但用正确的表别名替换X

SELECT r.request_id, rr.request_result_id, r.date_submitted
    FROM request_results rr INNER JOIN requests r ON rr.request_id = r.request_id
    WHERE ((rr.file_size IS NULL) or length(rr.results) = 0) and r.date_submitted >= CURDATE()
    ORDER BY r.request_id, rr.request_result_id, X.request_results;

从末尾删除
request\u results
,它是一个表的名称

select 
    r.request_id, rr.request_result_id, r.date_submitted
from
    request_results rr
        inner join
    requests r ON rr.request_id = r.request_id
where
    ((rr.file_size IS NULL)
        or length(rr.results) = 0)
        and r.date_submitted >= CURDATE()
order by r.request_id , rr.request_result_id;

并尝试编写更干净、格式良好的代码(或使用类似于中的自动格式选项)

在查询末尾添加表名是没有原因的

    SELECT r.request_id,
       rr.request_result_id,
       r.date_submitted
FROM   request_results rr
       INNER JOIN requests r
               ON rr.request_id = r.request_id
WHERE  ( ( rr.file_size IS NULL )
          OR Length(rr.results) = 0 )
       AND r.date_submitted >= Curdate()
ORDER  BY r.request_id,
          rr.request_result_id
对于这样的查询,如果不想弄乱自己,请使用SQL格式化程序。我使用的是替换

按r.request\u id、rr.request\u result\u id、X.request\u results排序

到头来

按r.request\u id、rr.request\u result\u id、r.date\u提交的订单


因为ORDER BY子句中指定的列应该是在SELECT column列表中选择的列之一

按顺序排列,因为您缺少一个逗号 试试这个代码

select  r.request_id, rr.request_result_id,r.date_submitted
from request_results rr 
  inner join requests r on rr.request_id = r.request_id 
  where ((rr.file_size IS NULL) or length(rr.results) = 0) 
     and r.date_submitted >= CURDATE() 
order by r.request_id, rr.request_result_id, r.date_submitted;

ORDER BY
子句中删除
request\u results
。末尾的request\u results是为了什么?还告诉您是否有语法错误
request\u结果是表本身。实际上应该把它去掉。