Union all 이용해서 3개의 테이블중 한개의 테이블만 이용되도록 하기 0 2 682

by 박성현장군님 [SQL Query] [2018.09.16 14:08:06]


예를 들어 조회조건의 전체를 사용할 경우 a,b,c  테이블 전부 사용해서 조회하고 조건1을 선택할 경우 a테이블에서 만 조회되고 조건2일 경우 b 테이블만 조회되게 조건식 짤 수 있나여? 

이때 a,b,c의 컬럼 명이 같다고 하면요 union all 을 써서 전체 전체where 조건으로 어케 하면 될꺼 같은데 막상할려니 안되네요

(

Select ab,bc,cd from day 

Union all

Select ab,bc,cd from month

Union all

Select ab,bc,cd from year

Where ~~~

by 정해인 [2018.09.16 20:47:29]

Declare @selector nvarchar(2)

Set @selector  = 'A';

 

Select ab,bc,cd from day where 1=case when @selector = 'A' then 1 else 0 end

Union all

Select ab,bc,cd from month where 1=case when @selector = 'B' then 1 else 0 end

Union all

Select ab,bc,cd from year where 1=case when @selector = 'C' then 1 else 0 end


by 마농 [2018.09.17 10:54:31]
SELECT *
  FROM (SELECT '1' gb, ab, bc, cd FROM day
         UNION ALL
        SELECT '2' gb, ab, bc, cd FROM month
         UNION ALL
        SELECT '3' gb, ab, bc, cd FROM year
        )
 WHERE gb LIKE NVL(:v_gb, '%')
;

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입