У меня есть этот запрос:MySQL: возвращать несколько столбцов из CSV присоединяется
SELECT *
FROM `test` t
LEFT JOIN `result` r ON r.test_id = t.id
LEFT JOIN `parameter` p ON p.test_id = t.id
, который возвращает:
id name id test_id description id test_id name
1 test w/o parameters 1 1 the first result NULL NULL NULL
1 test w/o parameters 2 1 the second result NULL NULL NULL
2 test w/ paramters NULL NULL NULL 1 2 command_line
2 test w/ paramters NULL NULL NULL 2 2 userid
что я хочу Возвращается:
id name results parameters
1 test w/o parameters the first result,the second result NULL
2 test w/ paramters NULL command_line,userid
Я пробовал чтобы заставить GROUP_CONCAT работать, но NULLS отбрасываются. Есть ли способ убедить GROUP_CONCAT в возврате нулей?
Что я действительно хотел бы иметь что-то вроде этого, но это все не так:
SELECT * , group_concat(r.description), group_concat(p.name)
FROM `test` t
left join `result` r on r.test_id = t.id
left join `parameter` p on p.test_id = t.id
Это возвращает непустые строки:
SELECT * , group_concat(r.description)
FROM `test` t
LEFT JOIN `result` r on r.test_id = t.id
LEFT JOIN `parameter` p on p.test_id = t.id
Когда один из сцепленных значений NULL, GROUP_CONCAT возвращает другие значения и игнорирует, что, когда все они являются NULL возвращает NULL. Что вы понимаете под «убедить GROUP_CONCAT в возврате нулей»? – jurgenreza