2017-06-16 2 views
0

Was ich versuche zu tun ist:gibt es eine syntaktische Abkürzung ähnlich wie bei der Vereinigung?

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

zu ersetzen:

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

Wahrscheinlich 'CASE', aber es ist schwer aus zu sagen, was Sie geschrieben haben. Was RDBMS? Einige Beispieldaten würden auch helfen. –

+0

aktualisieren Sie Ihre Frage fügen Sie eine ordnungsgemäße Daten Beispiel und das erwartete Ergebnis bitte – scaisEdge

+0

Wenn Ihr RDBMS es unterstützt, könnten Sie eine 'full Join' verwenden. – HoneyBadger

Antwort

1

Kann sein, das ist etwas, "in der Nähe", was Sie denken (auf MSSQL getan) ?. Pls in jedem Frage Post Beispieldaten, erwartetes Ergebnis usw.

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 

Ausgang:

ID DESC_A DESC_B 
1 A NULL 
2 B Z 
3 NULL Y 
Verwandte Themen