我想知道是否有人碰到以下内容:
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>
它目前显示用户列出的所有“歌曲”。
虽然它确实列出了与用户相关的所有歌曲,但它有多个歌曲名称重复,因为每个歌曲名称都有一个与之关联的标签。
我试图只为“歌曲名称”显示“Group By s.name”。
但是,这会将其限制为一个t.name(标记)。
我想显示每个艺术家(s.artist)没有重复的歌曲名称(s.name),同时显示与之关联的所有标签(t.name)。
感谢任何帮助。
谢谢!
答案 0 :(得分:5)
我认为您正在寻找group_concat()
的{{1}}:
group by