我有以下查詢: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