2017-07-14 5 views
0

Ich habe 2 Tabellen: Artist und play_store. Artist-Tabelle hat 2 Spalten ID (PK), Name. Die play_store-Tabelle hat Spalten: id (pk), title, artist_id (-> der Fremdschlüssel von artist table pk).MySql Join doppelte Werte in Spalten mit unterschiedlichen Aufzeichnungen

Künstler Tisch

id | name 
1 | ArtistA 
2 | ArtistB 
3 | ArtistC 
4 | ArtistD 

play_store Tisch

id | title | artist_id 
1 | TitleA | 1 
2 | TitleB | 2 
3 | TitleA | 2  
4 | TitleC | 3 
5 | TitleC | 4  

In oben play_store Tabelle, doppelte Titel mit verschiedenen KUENSTLER_ID s zur Verfügung stehen. Ich möchte diese doppelten Titel weglassen, benötige aber alle anderen artist_id s in einer Antwortspalte. Die erwarteten Ergebnisse sollten wie folgt aussehen.

id | title | artist_id 
1 | TitleA | 1,2 
2 | TitleB | 2 
3 | TitleC | 3,4 

Kann mir jemand mitteilen, wie die doppelten Werte in einer Spalte zu verbinden, aber immer noch deutliche Aufzeichnungen zu haben?

Antwort

1

Sie können diese verwenden:

SELECT title, group_concat(artist_id) as artist_ids 
FROM `play_store` 
GROUP BY title 

Hinweis, dass es keine id Spalte wie die in der group by nicht vorhanden ist und nicht ausgewählt werden sollte. Wenn Sie auch einen "Zähler" wünschen,

Verwandte Themen