我有一个名为'artist'的表,其中有-idnamegenre

我需要找出所有具有相同风格的艺术家。

例如:如果艺术家X的流派为“摇滚”和“经典”,艺术家Y的流派为“经典”和“流行”,艺术家Z的流派为“流行”,则输出示例如下:

first artist | second artist  | genre
X            | Y              | Classic
Y            | Z              | Pop

最佳答案

使用流派联接数据
排除“镜像重复项”(XY经典与YX经典)并循环(
ZZ-Pop)使用S.id

Select S.Name as FirstArtist,
J.Name as SecondArtist,
S.Genre as CommonGenre
From Artist S
Inner Join Artist J
ON S.Genre = J.Genre and S.id < J.id

关于mysql - 在同一张表的列中组织相似的项目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20973708/

10-13 02:05