2016-06-12 2 views
0

결과를 결합하려고하는 두 개의 테이블이 있습니다. 그것은 또한 dbo.streetaddr2에 존재에도 불구하고 우리가 그것을 선택하지 않는 조건이있는 두 테이블의 결과를 결합합니다.

Create table dbo.streetaddr1(HomeID INT,Address varchar(200)); 

INSERT INTO dbo.streetaddr1 VALUES(1, '656 ave.'); 
INSERT INTO dbo.streetaddr1 VALUES(2,'B-6 '); 
INSERT INTO dbo.streetaddr1 VALUES(3,'13 villa '); 




Create table dbo.streetaddr2(HomeID INT,Address varchar(200)); 
    INSERT INTO dbo.streetaddr2 VALUES(1, '656 ave.'); 
    INSERT INTO dbo.streetaddr2 VALUES(2,'B-6 6th avene'); 
    INSERT INTO dbo.streetaddr2 VALUES(4,'25 Main street'); 
    INSERT INTO dbo.streetaddr2 VALUES(5,'135 Elm St '); 

HomeID이 dbo.streetaddr1에있는 경우

, 우리는 그에서 주소를 선택합니다. HomeID하지 dbo.streetaddr1에 존재하는 않는 경우 우리는

예상 출력 테이블은 다음과 같습니다 dbo.streetaddr2에서 해당 주소를 선택 :

Create table dbo.outputtable(HomeID INT,Address varchar(200)); 
    INSERT INTO dbo.outputtable VALUES(1, '656 ave.'); 
    INSERT INTO dbo.outputtable VALUES(2,'B-6 '); 
    INSERT INTO dbo.outputtable VALUES(3,'13 villa '); 
    INSERT INTO dbo.outputtable VALUES(4,'25 Main street'); 
    INSERT INTO dbo.outputtable VALUES(5,'135 Elm St '); 

내가 어떻게 할 수 있습니까?

감사 루피

답변

3

SELECT COALESCE(S1.HOMEID,S2.HOMEID) AS HOMEID, 
     COALESCE(S1.ADDRESS,S2.ADDRESS) AS ADDRESS 
FROM streetaddr1 S1 
     full join streetaddr2 s2 on s1.HomeId = s2.HomeId 
시도
관련 문제