我有3个类别(cate1,cate2,cate3),我在数据库中有14行。我喜欢得到所有可能的组合。
Databas:
id category
1 cate1
2 cate2
3 cate3
6 cate1
7 cate2
8 cate3
9 cate1
10 cate2
11 cate3
12 cate1
13 cate2
14 cate3
结果:
[0]
cate1 = 1 (id)
cate2 = 2 (id)
cate3 = 3 (id)
[1]
cate1 = 6 (id)
cate2 = 7 (id)
cate3 = 8 (id)
[2]
cate1 = 9 (id)
cate2 = 10 (id)
cate3 = 11 (id)
列出所有组合的..等等。
请帮忙
答案 0 :(得分:2)
如果我理解正确,您需要为每个类别cross join
:
select c1.id, c2.id, c3.id
from (select t.* from t where category = 'cate1') c1 cross join
(select t.* from t where category = 'cate2') c2 cross join
(select t.* from t where category = 'cate3') c3;