거북이1
94
2017-10-12 11:57:48
4
621

쿼리질문드립니다..


SELECT OPTION_CATEGORY_NAME FROM OPTION_CATEGORY WHERE OPTION_CATEGORY_SEQ = '4';


SELECT OPTION_CATEGORY_NAME FROM OPTION_CATEGORY_LCL WHERE OPTION_CATEGORY_SEQ = '4'; 


SELECT OPTION_NAME, OPTION_PRICE FROM GOODS_OPTION WHERE OPTION_CATEGORY_SEQ = '4';


SELECT OPTION_NAME FROM GOODS_OPTION_LCL WHERE OPTION_SEQ IN(3,4,5);


각각 이렇게 검색돼는 결과값을 한개의 쿼리로 만들고싶은데 아무리 검색 해봐도 잘모르겠습니다..

조언 부탁드립니다!

0
  • 답변 4

  • 아오도미도비
    631
    2017-10-12 12:18:58

    JOIN을 써보시는게 어떨까 생각합니다. JOIN에도 여러가지 종류가 있고 또 어떤 테이블을 우선순위로 둘 것이냐에 따라서 결과가 달라지기 때문에 그냥 교집합처럼 사용하신다면 join을 사용하세요

  • 거북이1
    94
    2017-10-12 12:32:23

    답변감사합니다 JOIN 익숙하지않아서 테이블4개에서 값을 가져오는 쿼리를 만들려고하니 막막하네요.

    계속 시도해보겠습니다..!

  • 아항항하잏이
    77
    2017-10-12 13:29:08

    테이블명 보니깐 join 걸수있는 키가 있을것같은데

    만약 없으면 컬럼갯수를 동일하게 주고

    4개 쿼리를 유니온 걸어줘도 될듯해요~

  • 아오도미도비
    631
    2017-10-12 13:40:10

    select M.OPTION_CATEGORY_NAME moca, s.OPTION_CATEGORY_NAME soca 
    '둘이 같은 이름이라 불러 왔을때 구분하기 위해서 대략 moca, soca란 이름을 주었다고 봐도 괜찮습니다.

    from OPTION_CATEGORY M inner join OPTION_CATEGORY_LCL S   
    '서로 다른 테이블을 다른곳에서 편하게 물러오기 위해서 M과 S로 이름을 바꾸어 불렀습니다.

    on S.key = M.key            
    '서로 다른 테이블을 조인하려면 맞아야 하는 기본키 라든가 있겠죠? 그래서 임의로 넣었습니다.
    where M.OPTION_CATEGORY_SEQ = '4'
    and S.OPTION_CATEGORY_SEQ = '4'
    order by '만약 정렬 넣으신다면


    맨 위에 2개 테이블을 이런 식으로 해봤는데 3개나 4개 까지 하신다면

    from OPTION_CATEGORY M inner join OPTION_CATEGORY_LCL S 
    on S.key = M.key
    inner join OPTION_CATEGORY_LCL S 
    on S.key = M.key
    inner join OPTION_CATEGORY_LCL S 
    on S.key = M.key

    이런 식으로 하시면 될 듯 합니다. 아니면 윗분처럼 유니온(UNION)사용하셔도 괜찮을거 같습니다.

  • 로그인을 하시면 답변 을 등록할 수 있습니다.