DB是H2(内存中)。
有两个表:用户用的ID,姓名,姓。以及具有id,title,text,user_id的文档。
user_id是来自Users id的外键。
任务是:从具有5个以上标题的用户中选择一个唯一名称。
我创建了这个选择,但它给出了一个错误:
SELECT DISTINCT users.name, documents.user_id,
( SELECT COUNT(*)
FROM documents AS d
WHERE d.user_id = documents.user_id
)
AS rn
FROM documents, users WHERE users.id = documents.user_id
GROUP BY documents.user_id AND users.name having rn > 5 ORDER BY documents.user_id, users.name, rn;
错误:[22018] [22018]转换“ Douglas”的数据转换错误;SQL语句:SELECT DISTINCT users.name,documents.user_id,(SELECT DISTINCT COUNT(*)来自文档AS d哪里d.user_id = documents.user_id ...
(道格拉斯是表中的第一行名称)
帮助我解决此问题,并发现错误。
GROUP BY documents.user_id AND users.name
SQL试图解析布尔表达式documents.user_id AND users.name
,并且无法调和integer and string
应该的值。
用逗号分隔组中的多个列。
group by documents.user_id, users.name
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句