MySQL - GROUP_CONCAT с двумя столбцами из разных таблиц - PullRequest
0 голосов
/ 19 марта 2020

Я хочу объединить два столбца из разных таблиц в моем текущем GROUP_CONCAT:

SELECT MAX(unit.unit_pk) AS unit_pk,
       GROUP_CONCAT(unit_outcome.unit_outcome SEPARATOR '|') unit_outcomes,
       MAX(program_outcome.program_outcome) program_outcome,
       GROUP_CONCAT(unit_outcome.unit_outcome_pk) unit_outcome_pks, 
       program_outcome.program_outcome_pk,
       program_outcome.program_outcome
FROM unit
INNER JOIN unit_unit_outcome_lookup
    ON unit_unit_outcome_lookup.unit_fk = unit.unit_pk
INNER JOIN unit_outcome
    ON unit_outcome.unit_outcome_pk = unit_unit_outcome_lookup.unit_outcome_fk
INNER JOIN program_outcome_unit_outcome_lookup
    ON program_outcome_unit_outcome_lookup.unit_outcome_fk = unit_outcome.unit_outcome_pk
INNER JOIN program_outcome
    ON program_outcome.program_outcome_pk = program_outcome_unit_outcome_lookup.program_outcome_fk
GROUP BY program_outcome_pk ORDER BY program_outcome.program_outcome ASC

, чтобы

GROUP_CONCAT(unit_outcome.unit_outcome SEPARATOR '|') unit_outcomes

объединял unit.unit_code и unit_outcome.unit_outcome внутри GROUP_CONCAT

Я полагаю, это можно сделать?

В результате я ищу строку из GROUP_CONCAT, например "unit_code: unit_outcome"

дБ скрипка

1 Ответ

1 голос
/ 19 марта 2020
GROUP_CONCAT(CONCAT(unit.unit_code, '-', unit_outcome.unit_outcome) SEPARATOR '|')

Вы можете использовать любой другой разделитель в CONCAT () вместо '-', который я использовал случайным образом.

Также вы можете использовать CONCAT_WS () вместо CONCAT () - особенно если в одной записи источника необходимо объединить более 2 полей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...