밤과라임
2k
2018-01-11 12:35:36
5
876

sql문에서 여러 컬럼에서 같은 값 찾는 방법 없나요?


1컬럼과 2컬럼이 있다고 할 때 이 둘 모두에 a가 있는것을 조회하려고 한다면


select 1, 2 from 테이블 where 1 = 'a' and 2 = 'a' 

이렇게 말고 한번의 조건으로 하는 방법은 없나요?? 

0
0
  • 답변 5

  • soon
    158
    2018-01-11 12:47:23

    질문자님 방법이 제일 좋은거 같긴한데..

    굳이 한번으로 하고자 하신다면

    where 1 ||  2 = 'aa' 이렇게 조건절 컬럼을 붙이는 방법이 있을 것 같네요.

    0
  • Ires
    1k
    2018-01-11 12:50:41 작성 2018-01-11 12:52:50 수정됨

    where (a, b) in ( (1,2), (3,4) )


    오라클이라면 이렇게 가능해요. 

    in절에 select로 컬럼 두개를 동시에 걸고 검색할 일이 좀 많아서..ㅎㅎ


    --


    혹은,

    질문하신분의 의도처럼 하려면, 일부러 dml을 만들 수 있는 쿼리를 짜서.. 한번에 처리해버립니다.

    0
  • 세브라이드
    1k
    2018-01-11 13:29:55

    왠지 무엇때문에 이걸 물어보시는지 알 것 같네요 ㅋㅅㅋ

    제 생각이 맞다면 그냥

    WHERE 1=1

    AND column a = value a

    AND column b = value b

    이렇게 처리하세요~~

    0
  • 스텁
    903
    2018-01-11 15:17:11 작성 2018-01-11 15:17:36 수정됨

    원하는 조합을 얻기위해  사용하는게 논리 연산자라서

    A='1' and B='1' 이것 자체가 하나의 조건입니다. 

    질문이 논리연산자를 사용 안하고 쿼리를 돌릴수 있나요 와 비슷한것 같습니다. 


    파라미터를 한번만 셋팅하고 싶으신거여서 그러신거일까요?

    문법적으로는 조금 다르게 할수는 있으나 

    해당 쿼리의 where절은 더 이상 어떻게 할 필요가 있는 내용은 아니라서

    왜그러신지는 모르겠으나 쿼리말고 다른 부분을 손대셔야 할 내용같습니다.

    0
  • 밤과라임
    2k
    2018-01-11 17:03:54

    아 다들 감사합니다 ㅎㅎ

    왠지 그냥 중복이 있으면 안이뻐보이고거슬려서 더 편하고 좋은방법이있는지 궁금했거든요.

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