I'm trying to join 3 tables and do a GROUP_CONCAT, but get
Unknown column 'program_outcome.program_outcome_pk' in 'field list'
Query:
SELECT program_outcome.program_outcome_pk,
program_outcome.program_outcome,
GROUP_CONCAT(program_outcome_unit_outcome_lookup.unit_outcome_pk) unit_outcome_pks,
GROUP_CONCAT(unit_outcome.unit_outcome) unit_outcomes
FROM program_outcome po
LEFT JOIN program_outcome_unit_outcome_lookup pouo
ON po.program_outcome_pk = pouo.program_outcome_fk
LEFT JOIN unit_outcome uo
ON pouo.unit_outcome_fk = uo.unit_outcome_pk
GROUP BY po.program_outcome_pk,
po.program_outcome
The results that I'm looking for are like:
+----------------------------------+--------------------------------------------------+
| program_outcome.program_outcome | unit_outcome.unit_outcome |
+----------------------------------+--------------------------------------------------+
| program outcome 1 | unit_outcome 2, unit_outcome 5 |
| program outcome 2 | unit_outcome 7, unit_outcome 1 |
| program outcome 3 | unit_outcome 1, unit_outcome 9, unit_outcome 11 |
+----------------------------------+--------------------------------------------------+
You need to use the aliases you defined in your from
and join
claues:
SELECT po.program_outcome_pk,
po.program_outcome,
GROUP_CONCAT(pouo.unit_outcome_fk) unit_outcome_pks,
GROUP_CONCAT(uo.unit_outcome) unit_outcomes
FROM program_outcome po
LEFT JOIN program_outcome_unit_outcome_lookup pouo
ON po.program_outcome_pk = pouo.program_outcome_fk
LEFT JOIN unit_outcome uo
ON pouo.unit_outcome_fk = uo.unit_outcome_pk
GROUP BY po.program_outcome_pk,
po.program_outcome
You can remove the aliases since your tables doesn't have conflicting names, here is a working Query based on your fiddle:
SELECT program_outcome_pk,
program_outcome,
GROUP_CONCAT(unit_outcome_pk) unit_outcome_pks,
GROUP_CONCAT(unit_outcome) unit_outcomes
FROM program_outcome po
LEFT JOIN program_outcome_unit_outcome_lookup pouo
ON po.program_outcome_pk = pouo.program_outcome_fk
LEFT JOIN unit_outcome uo
ON pouo.unit_outcome_fk = uo.unit_outcome_pk
GROUP BY po.program_outcome_pk,
po.program_outcome
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.