私はこのクエリを持っています:
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 を機能させようとしましたが、NULL は破棄されます。GROUP_CONCAT に null を返すよう説得する方法はありますか?
私が本当に欲しいのはこのようなものですが、これはすべて間違っています:
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
これは非 NULL 行を返します。
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