2016-09-10 8 views
2

I持って、次の表:3つのテーブルの組み合わせを、対応する3つの列を持つ第4のテーブルに挿入する方法はありますか?

table1:  table2:  table3: 

| id |  | id |  | id | 
|------|  |------|  |------|  
| 1 |  | 1 |  | 1 | 
| 2 |  | 2 |  | 2 | 

どのように私は第四表(表4)に挿入するMySQLのクエリの列(ID1、ID2、ID3)によれば、している上記の表のすべての可能な組み合わせを実行することができますか?

基本的に私は私の表4は次のようになりたい:

| id1 | id2 | id3 | 
|-----|-----|-----| 
| 1 | 1 | 1 | 
| 1 | 1 | 2 | 
| 1 | 2 | 1 | 
| 1 | 2 | 2 | 
| 2 | 1 | 1 | 
| 2 | 1 | 2 | 
| 2 | 2 | 1 | 
| 2 | 2 | 2 | 

答えて

2

あなたがcreate table ascross join使用します。SQLテーブルが順不同セットを表すこと

create table table4 as 
    select t1.id as id1, t2.id as id2, t3.id as id3 
    from table1 t1 cross join 
     table2 t2 cross join 
     table3 t3; 

注意を。したがって、指定した順序で結果を表示する場合は、次のようにします。

select t4.* 
from table4 t4 
order by id1, id2, id3; 
関連する問題