选择多对多关系中的所有唯一可能(多个)值?

时间:2018-01-29 15:01:40

标签: mysql sql database select

假设有一个简单的表,就像多对多的关系一样。

person_id | preferred_color
-------------------
1         | BLUE
1         | RED
2         | BLUE
3         | BLUE
3         | RED
4         | BLUE
5         | BLUE
5         | RED 
5         | GREEN
6         | RED
6         | GREEN

我想要的是一个SQL查询来从多对多关系中返回所有可能的值;对于给定的例子,一个人所有可能喜欢的颜色:[(蓝色,红色),(蓝色),(蓝色,红色,绿色),(红色,绿色)]。

通过简单的选择,只选择一种首选颜色的可能性非常简单;即使有两种两种首选颜色也是可能的,具有自连接功能。但是使用可变数量的首选颜色?

1 个答案:

答案 0 :(得分:0)

感谢@jarlh建议使用group concat(不知道这样的功能)。

在这种情况下(对于MySQL)的解决方案是:

auctionedItem