• Daum
  • |
  • 카페
  • |
  • 메일
  • |
 
카페정보
카페 프로필 이미지
닷넷 (.NET) 프로그래머 모임
 
 
 
카페 게시글
데이터베이스 질문 [MS-SQL] 2개의 select문 합쳐서 조회하기 도와주세요
움파 추천 0 조회 145 15.11.21 21:54 댓글 5
게시글 본문내용
 
다음검색
댓글
  • 15.11.22 17:41

    첫댓글 두개의 연관 관계가 전혀 없는 테이블이니 키를 하나 만드셔야 겠죠?
    select a.id, a.pw, b.id, b.pw
    from (
    select Row_Number() over( order by id ) as [no], id, pw from memeber where use = 'Y'
    ) a inner join
    (
    select Row_Number() over( order by id ) as [no], id, pw from memeber where use = 'N'
    ) b
    on a.[NO] = b.[NO]
    양쪽 갯수가 다를 경우를 대비해서 fullouter join 으로 검색해서 만들어 보세요.

  • 15.11.25 13:36

    CASE 문으로 해도 되겠네요

  • 15.11.26 09:28

    case문으로 어떻게 만드는지 알수 있을까요? 좀 해보고는 있는데 쉽지 않네요?
    -- 아래 쿼리는 full outer join 으로 만든 건데요...
    ;with o
    as (
    select id, pwd, used
    from (
    values
    ( 'aa', '11', 'y'),
    ( 'bb', '22', 'n'),
    ( 'cc', '33', 'y'),
    ( 'dd', '44', 'y'),
    ( 'ee', '55', 'n')
    ) tb ( id, pwd, used)
    )

    select *
    from (

    select row_number() over( order by id ) as [no], id, pwd
    from o
    where used = 'y'
    ) a
    full outer join
    (

    select row_number() over( order by id ) as [no], id, pwd
    from o
    where used = 'n'
    ) b
    on a.[no] = b.[no]

  • 15.11.26 10:26

    생각해보니 CASE는 아닌거 같네요 WITH 문이 제일 나을듯 합니다
    둘사이에 키는 필요없을듯 하여
    WITH USE_LIST AS
    (
    SELECT ID, PW
    FROM MEMBER
    WHERE USE='Y'
    ),
    NOT_USE_LIST AS
    (
    SELECT ID, PW
    FROM MEMBER
    WHERE USE='N'
    )
    SELECT U.ID, U.PW, N.ID, N.PW
    FROM USE_LIST U, NOT_USE_LIST N

  • 15.11.26 21:18

    아... 그렇군요.
    cross join 하면 뻥튀기 되는거 아닌가요? ^^;;
    답변 감사합니다. 추운데 감기 조심하시고 즐거운 하루 되세요.

최신목록