如果我完全错误的话,请随时指出,但我觉得我已经接近了。
我有两张桌子,曲目和艺术家,结构如下:
我已经编写了一个查询,根据艺术家对每种类型的曲目数量,得到艺术家的最常见类型,具有给定的artID :
SELECT `trackGenre` AS commonGenre
FROM `tracks`
WHERE artID=$artID
GROUP BY `trackGenre`
ORDER BY COUNT(*) DESC
LIMIT 1
然而,现在我要做的是从艺术家中选择*,其中artName与搜索查询匹配,而艺术家中最常见的类型=特定类型。这是我到目前为止所做的:
SELECT * FROM artist
WHERE artName LIKE '%example%'
AND (SELECT trackGenre AS commonGenre
FROM `tracks`
WHERE ????
GROUP BY `trackGenre`
ORDER BY COUNT(*) DESC
LIMIT 1)='Rock'
我非常感谢任何提示,不能完全理解这一点。
答案 0 :(得分:0)
解决方案很简单,用于:
artist.artID=tracks.artID
在查询的WHERE子句中。谢谢!