2017-06-16 70 views
0

我試圖做的是:是否有類似於聯合的聯合的句法快捷方式?

select 
A.Fuzz 
,A.Fizz 
,B.Whiz 
from A 
left outer join B 
on A.Fuzzy B=Wuzzy 

要更換:

select 
A.Fuzz 
,A.Fizz 
,B.Whiz 
from A 
left outer join B 
on A.Fuzzy B=Wuzzy 
UNION ALL 
select 
B.wuzz 
,A.Fizz 
,B.Whiz 
from A 
left outer join B 
on A.Fuzzy B=Wuzzy 
+0

大概'CASE',但很難從您發佈什麼可講。什麼RDBMS?一些示例數據也會有幫助。 –

+0

更新你的問題添加一個適當的數據樣本和預期的結果請 – scaisEdge

+0

如果你的RDBMS支持它,你可以使用'full join'。 – HoneyBadger

回答

1

可能這是一件「接近」你以爲(MSSQL上做)什麼?請在每一個問題後的樣本數據,預期效果等

CREATE TABLE A (ID INT, DESC_A VARCHAR(10)); 
INSERT INTO A VALUES (1,'A'); 
INSERT INTO A VALUES (2,'B'); 

CREATE TABLE B (ID INT, DESC_B VARCHAR(10)); 
INSERT INTO B VALUES (2,'Z'); 
INSERT INTO B VALUES (3,'Y'); 

SELECT COALESCE(A.ID, B.ID) AS ID 
, A.DESC_A 
, B.DESC_B 
FROM A 
FULL JOIN B ON A.ID = B.ID 

輸出:

ID DESC_A DESC_B 
1 A NULL 
2 B Z 
3 NULL Y 
相關問題