Мне было интересно, сталкивался ли кто-нибудь со следующим:
SQL-запрос:
SELECT s.ID , s.name , s.artist, m.tag_ID, t.name, s.*, m.*, t.*
FROM lms_song s
LEFT JOIN lms_map m
ON s.ID = m.ID
LEFT JOIN lms_tag t
ON m.tag_id = t.ID
WHERE s.created_by='.$userId.'
ORDER BY '.$Field.' '.$Direction;
PHP:
<? foreach($this->songs AS $song){ ?>
<tr>
<td>
<?php echo $song->songName;?>
</td>
<td>
<?php echo $song->artist;?>
</td>
<td>
<?php echo $song->tagname;?>
</td>
</tr>
В настоящее время он отображает все «песни», перечисленные пользователем.
Хотя в нем перечислены все песни, связанные с пользователем, в нем есть несколько дубликатов названий песен, поскольку с каждым названием песни связан тег.
Я попытался просто отобразить «Группировать по s.name» для «названия песни».
Однако это ограничивает его одним t.name (тегом).
Я хочу не отображать дубликаты названия песни (s.name) каждого исполнителя (s.artist), отображая при этом все теги (t.name), связанные с ним.
Любая помощь приветствуется.
Спасибо!