【发布时间】:2020-08-28 18:08:07
【问题描述】:
我的查询:
entityManager.createQuery("SELECT " +
"q.id, " +
"q.title, " +
"q.user.fullName, " +
"q.user.reputationCount, " +
"q.viewCount, " +
"q.countValuable, " +
"q.persistDateTime, " +
"t.id, " +
"t.name, " +
"t.description, " +
"(SELECT COUNT (a) FROM Answer a WHERE a.question.id = q.id), " +
"(SELECT a.isHelpful FROM Answer a WHERE a.question.id = q.id) " +
"FROM Question q JOIN q.tags t")
这里出现错误 - [21000][1242] 子查询返回超过 1 行
通过异常的方法,我确定这个查询字符串中的错误:
"(SELECT a.isHelpful FROM Answer a WHERE a.question.id = q.id) "
如何做出正确的请求,才不会出现这个错误?谢谢!
【问题讨论】:
-
错误的哪一部分你不明白?似乎很清楚。子查询返回多行。
-
你看到我的问题了吗?如何提出正确的请求?
-
查询“SELECT a.isHelpful FROM Answer a WHERE a.question.id = q.id”应修改为返回单行。可以使用 MIN,MAX,但您必须自己决定。根据您的用例添加其他过滤器以返回查询的单行。