J'ai le problème suivant Je 3 tableau (tous les sont utilisés UTF8/utf8_general_ci encodage) films, chaînes, i également 3 movie_channels de table quiMySQL group_concat commande par UTF8
est juste une combinaison de les deux autres avec seulement deux champs: movie_id, CHANNEL_ID voici mon canaux tableau (code, nom)
'1', 'ОРТ'
'2', 'ТК Спорт'
'3', 'ТК ТНВ'
'4', 'НТВ'
'5', 'НТВ+'
'6', 'TSN'
ici est ma table movie_channels (film _id, CHANNEL_ID) CHANNEL_ID références code
champ dans les canaux tableau
'19', '2'
'19', '6'
'95', '1'
'95', '4'
'96', '1'
'96', '4'
'97', '1'
'97', '4'
'98', '1'
'98', '4'
'99', '1'
'99', '4'
'100', '1'
'100', '4'
ne pas oublier les guillemets sur les valeurs d'id. ils sont tous ints bien sûr, pas les caractères, il est juste en collant question
pour chaque film que je dois afficher la liste séparées par des virgules des canaux i utilisé mysql group_concat
select t.movie_id,(select group_concat(c.name) from
movie_channels mc
join channels c on mc.channel_id=c.code
where mc.movie_id = t.movie_id
order by code desc)as audio_channel from movies t
mais je ne aime pas l'ordre de concat pour movie_id # 19 j'ai besoin de sql ci-dessus pour afficher TSN, ТК Спорт mais il ne cesse de me renvoyer ТК Спорт, TSN. J'ai essayé d'utiliser l'ordre par code desc avec aucune chance, essayé par char_length (asc) sans succès des idées?