Я на самом деле не знаю формат ожидаемого вывода, вам, кажется, нужны дополнительные строки результатов с только датой внутри?Будет сложно связать их с вашей песней, если у вас будет более одного результата. Я предлагаю решение, которое будет выводить даты в уникальных строках в виде строки, разделенной запятыми, для каждого результата, например:
+-----------------------------------------------------------+
| SongName AssetID ScheduleDate Total |
+-----------------------------------------------------------+
| XYZ 000000 13-09-2019,14-09-2019,15-09-2019 3 |
+-----------------------------------------------------------+
Для этого вы можете использовать GROUP_CONCAT
, который объединит значения, сгруппированные с GROUP BY
(при условии, что поле имеет имя ScheduleDate
в вашей БД):
SELECT
playlist_details.`EPISODE_TITLE` AS SongName,
songs_master.`ASSET_ID`,
song_rights_master.`CHANNEL_IDS` AS VChannels,
channel_master.`PLAYLIST_EXPORT_FILE_NAME`,
playlist_details.`DURATION`,
Count(*) AS Count,
GROUP_CONCAT(playlist_details.`ScheduleDate`) as ScheduleDate,
programmes_master.`TITLE` as moviename,
songs_master.`SONG_TYPE`
FROM
playlist_details
INNER JOIN songs_master ON playlist_details.`ASSET_ID` = songs_master.`ASSET_ID`
INNER JOIN song_rights_master ON song_rights_master.`SONG_ID` = songs_master.`SONG_ID`
INNER JOIN channel_master ON channel_master.`CHANNEL_ID` = song_rights_master.`CHANNEL_IDS`
LEFT JOIN programmes_master ON songs_master.`PROGRAMME_ID` = programmes_master.`PROGRAMME_ID`
WHERE playlist_details.`EVENT_TYPE` = 'Song' AND
song_rights_master.`songs_agreements_master_id`='".$agreement."'
GROUP BY SongName
См.простой пример здесь