我有以下查询:MySQL错误子查询返回多个1行
SELECT
users.*,
classes.*,
evaluation.student_id,
evaluation.class_id,
evaluation.chapter_title,
(SELECT
`score`
FROM
`evaluation`
WHERE
`class_id` = 1
AND
`id`
IN
(SELECT
MAX(`id`)
FROM
`evaluation`
WHERE
`class_id` = 1
GROUP BY
`chapter_title`)
GROUP BY
`chapter_title`)
AS
`score`,
(SELECT
`total_score`
FROM
`evaluation`
WHERE
`class_id` = 1
AND
`id`
IN
(SELECT
MAX(`id`)
FROM
`evaluation`
WHERE
`class_id` = 1
GROUP BY
`chapter_title`)
GROUP BY
`chapter_title`)
AS
`total_score`
FROM
(`evaluation`
INNER JOIN
`users`
ON
evaluation.student_id=users.id)
INNER JOIN
`classes`
ON
evaluation.class_id=classes.id
WHERE
users.role='student'
AND
evaluation.class_id = 1
AND
evaluation.student_id = 8
但是,当我在phpMyAdmin执行这个查询会显示一条错误消息说:
#1242 - Subquery returns more than 1 row
哪些错误的请帮助。提前致谢。
我有这个表:
用户
类
评价
在评价表(最后一个图像)。我只想要回一个不同的chapter_title或者一个分组的chapter_title,它具有最高的id并且有一个学生_id为8.
我需要使用此查询...但会返回一个错误。
我会试试看 –
我只想最高的ID返回一个不同的章节标题。但是这个查询返回所有的章节标题 –
根据你的问题标题,我解决了你的查询中的错误。至于业务逻辑,如果您遇到问题,请发布一个新问题。 – RedFilter