2014-05-23 36 views
0

我想在select語句中組合兩個不同的表,其中第一個表中的所有行都與第二個表中的所有行匹配。例如:需要SQL:兩個表中的所有行合併在一起

Table1 
Table1_ID | FKey_Table2_ID 
1   9 
2   null 

Table2 
Table2_ID | Table2_Value 
9   Yes 
10   No 
11   Maybe 

結果:

Table1_ID | FKey_Table2_ID | Table2_ID | Table2_Value 
1   9    9   Yes 
1   null    10   No 
1   null    11   Maybe 
2   null    9   Yes 
2   null    10   No 
2   null    11   Maybe 

請注意,表1中的第一行從表2已分配的關鍵。

+1

應行2和'FKey_Table2_ID'場3是'9'而不是'null'? – pmcoltrane

回答

1

這就是所謂的cross join,可以這樣來完成:

SELECT Table1_ID, FKey_Table2_ID, Table2_ID, Table2_Value 
FROM Table1 
CROSS JOIN Table2 

或者更簡單地說

SELECT Table1_ID, FKey_Table2_ID, Table2_ID, Table2_Value 
FROM Table1, Table2 
0
SELECT * FROM Table1 
CROSS JOIN 
Table2