我有兩張桌子:
1. Column1 Column2
X 4
Z 7
2. Column1 Column1
Bed Pizza
Sun Hamburger
現在我想組合這兩個表,輸出表應該是這樣的:
3. Column1_1 Column2_1 Column_1_2 Column_2_2
X 4 Null Null
Z 7 Null Null
Null Null Bed Pizza
Null Null Sun Hamburger
uj5u.com熱心網友回復:
要獲得所需的輸出,只需合并您的表并提供 NULL 值占位符。列名取自聯合中的第一個查詢:
select column1 Column1_1, column2 column2_1, null Column_1_2, null column_2_2
from t1
union all
select null, null, Column1, Column2
from t2
uj5u.com熱心網友回復:
要實作您的要求,您可能需要使用以下方法之一:
CROSS JOIN(最簡單的解釋方式是:它回傳兩個表中的所有記錄)
SELECT *
FROM table1 t1
CROSS JOIN table2 t2;
UNION(用于唯一記錄)或 UNION ALL(所有記錄)
SELECT *
FROM table1 t1
UNION ALL
SELECT *
FROM table2 t2;
uj5u.com熱心網友回復:
執行此操作的此查詢不是連接。
SELECT
Column1 Column1_1,
Column2 Column1_2,
null Column2_1,
null Column2_2
FROM table1
UNION ALL
SELECT
null,null,Columns,Columns
FROM table2;
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/438769.html
上一篇:如何重寫此查詢以在Postgres中使用LEFT/RIGHTINNER/OUTERJOIN關鍵字洗掉Oracle的( )?[復制]
