连接查询的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结果是表本身。实际上应该把它去掉。