【发布时间】:2013-09-23 12:50:56
【问题描述】:
如何让 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
【问题讨论】: