在 MySQL 上有点挣扎。我找到了GROUP_CONCAT
适合我需要的功能,但我不知道如何使用它。我想做的是在几列以及 concat 列中进行搜索;所以如果任何一列等于我的搜索词(%a%
在这个例子中)它应该被返回。我已经弄清楚如何返回连接的流派字符串,但我不知道如何搜索它。
SELECT albumArtworkURL, albumName, albumID,
b.artistID AS ArtistID, b.artistName AS ArtistName,
GROUP_CONCAT(DISTINCT c.songGenre separator ',') AS genres
FROM album
LEFT JOIN artist b ON album.albumArtist = b.artistID
LEFT JOIN song c ON albumID = c.songOnAlbum
WHERE albumName LIKE '%a%' OR albumYear LIKE '%a%'
GROUP BY albumArtworkURL, albumName, albumID, ArtistID, ArtistName
ORDER BY albumYear ASC, albumName ASC
非常感谢一些帮助。谢谢 :-)