Во-первых, я не уверен, что это возможно сделать в 1 запросе. Надеюсь, что так.Mysql выбрать несколько записей исполнителя на дорожку, используя таблицу соединений
У меня есть эти таблицы:
artist
- id
- name
track
- id
- title
track_artist
- track_id
- artist_id
(with UNIQUE index on the combined columns)
дорожка может иметь несколько художников, и художник может иметь несколько дорожек, таким образом, оба из них имеют отношение ManyToMany с помощью таблицы перехода.
Теперь мне нужна информация о треке №1, включая некоторую форму массива (как значение внутри этой записи, возможно, названное artists
), которое содержит все записи исполнителя, относящиеся к этой дорожке.
Что в псевдо-коде должны в конечном итоге выглядит примерно так:
- id : 1
- title : "example Track Title"
- artists :
[
- id : 1
- name : "Foo Artist Name"
],
[
- id : 2
- name : "Bar Artist Name"
]
Возможно ли это? Если нет, то какой будет лучший подход?
я думаю, что ваш поиск для GROUP_CONCAT добавил ответ –
Я не думаю, что SQL может возвращать результат, как этот формат. Возможно, вам следует использовать другой язык программы. – Blank
@ 10086 Я тоже боюсь, что это не проблема, но я надеялся, что смогу сделать это в одном запросе. – xorinzor