2016-12-10 34 views
0

3つのカテゴリ(cate1、cate2、cate3)があり、データベースに14の行があります。私はすべての可能な組み合わせを得るのが好きです。MySQLの3つのカテゴリからすべての組み合わせを取得

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) 

..andように、すべての組み合わせに記載されています。

私が正しく理解していれば、あなたがカテゴリごとに、cross joinをしたい

+0

あなたはグループカテゴリ別にそれらをしたいですか? – Federkun

+0

あなたのお望みの結果だけでなく、あなたが試したことを投稿してください。 – Rahul

+1

問題が明確ではありません。さらに説明してください。すべての可能な組み合わせは何ですか? –

答えて

2

を助けてください:

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; 
+0

私はこれを動作させることができません。 1行につき1つのアイテムしか取得できません。私はそれが1行3列の私の "結果" exempelであることが好きです。助けてください – user2673664

+0

私は私の解決策で答えを更新しました – user2673664

+0

この回答を削除しますか?同一の行が「ヒット」ごとに複数回表示されないようにする方法はありますか? – user2673664

関連する問題