Простой вопрос:CONCAT группу SELECT, в другом SELECT,
Есть 2 таблицы:
Жанр [имя, songID]
Song [идентификатор, название, идентификатор пользователя, статус]
SELECT id, name, title, userID, status FROM songs INNER JOIN genre ON song.id = genre.songID ORDER BY id ASC;
Что запрос, чтобы получить результат от
+----+-------------+----------------------+--------+--------+
| id | genre.name | song.title | userID | status |
+----+-------------+----------------------+--------+--------+
| 1 | tech | Feel it all | 1 | 1 |
| 2 | tech | Tester | 1 | 1 |
| 3 | music | Sejujurnya | 1 | 1 |
| 4 | music | Not Done | 1 | 1 |
| 5 | life | Cinta | 1 | 1 |
| 6 | life | Feel it all | 1 | 1 |
| 7 | life | Not Done | 1 | 1 |
| 8 | truth | Tester | 1 | 1 |
| 9 | tree | Tester | 1 | 1 |
| 10 | climb | Tester | 1 | 1 |
+----+-------------+----------------------+--------+--------+
в
+----+-------------+---------------------------------+--------+--------+
| id | genre.name | song.title | userID | status |
+----+-------------+---------------------------------+--------+--------+
| 1 | tech | Feel it all,Tester | 1 | 1 |
| 2 | music | Sejujurnya, Not Done | 1 | 1 |
| 3 | life | Cinta, Feel it all, Note Done | 1 | 1 |
| 4 | truth | Tester | 1 | 1 |
| 5 | tree | Tester | 1 | 1 |
| 6 | climb | Tester | 1 | 1 |
+----+-------------+---------------------------------+--------+--------+
Благодарности
Возможный дубликат http://stackoverflow.com/questions/4650744/mysql-multiple-row-to-single-row –
Я думаю, что я вижу шаблон, названия из одного жанра взорваны, но затем какова сделка с «мрак» и «бука»? Их даже нет в оригинальной таблице. –
Посмотрите на функцию [GROUP_CONCAT] (http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat) в MySQL. @Declan_K: ваша ссылка для SQL-сервера, которая немного отличается. –