Выберите запрос с уникальным идентификатором без дубликатов и случайных результатов подзапроса - PullRequest
0 голосов
/ 08 октября 2019

У меня есть следующий запрос с подзапросом:

SELECT 
    artists.name,
    tracks.track_name,
    m.member_name
FROM
    artists
        LEFT JOIN
    (SELECT 
        RAND() AS seed, artist_id, member_name
    FROM
        artist_members
    GROUP BY seed
    ORDER BY seed) m ON m.artist_id = artists.id
        JOIN
    tracks ON tracks.artist_id = artists.id
WHERE
    artists.id = '1'
GROUP BY tracks.track_name
ORDER BY RAND()
LIMIT 4

sqlfiddle: http://sqlfiddle.com/#!9/3266ab/13

Это работает, кроме того, что это даст мнеодно и то же имя исполнителя и его информация (из подзапроса) для всех 12 результатов.

Если я удаляю GROUP BY album_tracks.track_code, это даст мне случайные имена / данные участника артиста, что хорошо, но может иметь дубликат album_tracks.track_code, которыйЯ не хочу.

Кажется, я не могу найти баланс в том, что я пытался, я хочу получить случайные имена / информацию о членах артиста, но НЕ иметь тот же album_tracks.track_code.

...