В принципе, у меня есть 3 таблицы, заголовки, провайдеры и provider_titles.При запросе отношений «многие ко многим» в SQL возвратите несколько соединений как массив в одиночной строке?
Допустим, они выглядят следующим образом:
| title_id | title_name |
|------------|----------------|
| 1 | San Andres |
| 2 |Human Centipede |
| 3 | Zoolander 2 |
| 4 | Hot Pursuit |
| provider_id| provider_name |
|------------|----------------|
| 1 | Hulu |
| 2 | Netflix |
| 3 | Amazon_Prime |
| 4 | HBO_GO |
| provider_id| title_id |
|------------|----------------|
| 1 | 1 |
| 1 | 2 |
| 2 | 1 |
| 3 | 1 |
| 3 | 3 |
| 4 | 4 |
Таким образом, очевидно, есть названия с несколькими поставщиками, да? Типичные многие из многих до сих пор.
Так что я делаю, чтобы запросить это с JOIN, как следующее:
SELECT * FROM provider_title JOIN provider ON provider_title.provider_id = provider.provider_id JOIN title ON title.title_id = provider_title.title_id WHERE provider.name IN ('Netflix', 'HBO_GO', 'Hulu', 'Amazon_Prime')
Хорошо, теперь к реальной проблеме. Я не хочу повторять названия имен, но мне нужны все поставщики, связанные с заголовком. Позвольте мне объяснить другой стол. Вот то, что я получаю обратно с текущим запросом, как:
| provider_id| provider_name | title_id | title_name |
|------------|---------------|----------|---------------|
| 1 | Hulu | 1|San Andreas |
| 1 | Hulu | 2|Human Centipede|
| 2 | Netflix | 1|San Andreas |
| 3 | Amazon_Prime | 1|San Andreas |
| 3 | Amazon_prime | 3|Zoolander 2 |
| 4 | HBO_GO | 4|Hot Pursuit |
Но то, что я действительно хочу, было бы что-то больше похоже на
| provider_id| provider_name |title_id| title_name|
|------------|-----------------------------|--------|-----------|
| [1, 2, 3] |[Hulu, Netflix, Amazon_Prime]| 1|San Andreas|
Значение Я хочу только различные названия назад, но я до сих пор хотите, чтобы у каждого ассоциированного поставщика. Это только можно выполнить запрос после SQL с логикой, итерации по возвращенным строкам?
эти похожие вопросы могут помочь 'http://stackoverflow.com/questions/887628/convert-mul tiple-rows-into-one-with-comma-as-separator' 'http: // stackoverflow.com/questions/21760969/multiple-rows-to-one-comma-separated-value' – crowchirp