如何让 GROUP CONCAT 运算符中的 WHERE 依赖于查询中的另一列?在这种情况下,需要发生的是score_list
从相关候选人的分数中获取的值。在 MySQL 中,我可以通过使用别名(SELECT Candidate_id as id .... WHERE scores.candidate_id = id ...)来使用它,在 SQLite 中我得到“没有这样的列”。
SELECT candidate_id,
first_name || ' ' || last_name AS 'name',
(
SELECT GROUP_CONCAT(score)
FROM scores
WHERE scores.candidate_id = *NEEDS TO BE CANDIDATE_ID*
AND scores.category_id = 1
ORDER BY scores.judge_id
) AS score_list
FROM scores
JOIN candidates
ON candidates.id = scores.candidate_id