2016-05-31 10 views
0

私は3つのテーブルを持っていますが、どのようにしてIDの組み合わせを得ることができますか?MySQLのすべての可能な組み合わせは複数のテーブルを形成します

SELECT t1.id, t2.id, t3.id 
FROM t1, t2, t3 
WHERE 1 

このクエリは、私が欲しいものはほとんど私を与えるが、また、そのような行を取得するために、必要に応じて:

------------------------- 
| t1.id | t2.id | t3.id | 
------------------------- 
| 1 | NULL | NULL | 
------------------------- 
| 1 | 1 | NULL | 
------------------------- 
| NULL | 1 | NULL | 
------------------------- 
| NULL | NULL | 1 | 
------------------------- 
....................... 
------------------------- 

私のクエリは

+0

あなたから提供されたクエリを試してみましたが、これはあなたが示したようにNULL値で記録します。ちょっと混乱していますが、NULL値を持つレコードやNULL値のないレコードが必要ですか? – Rupal

+0

NULL値を持つ行が必要ですが、NULL値を持たない行のみを返します –

+0

このクエリはNULL値の行を与えます。テーブルデータにnullを文字列として挿入しましたか?あなたのDBスキーマを提供できますか? – Rupal

答えて

1
create table t1(id int); 
create table t2(id int); 
create table t3(id int); 
insert into t1 values(1); 
insert into t2 values(1); 
insert into t3 values(1); 
select * from 
(select NULL union select id from t1) x1, 
(select NULL union select id from t2) x2, 
(select NULL union select id from t3) x3 

が動的にNULLが追加NULL行せずにのみ与え

関連する問題