개발 Q&A

제목 sql문 질문인데, and or연산 혼합해서 쓰려고하는데...
글쓴이 neo천 작성시각 2014/12/26 19:01:18
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 13151   RSS
중복전화번호 검색하는데, 

db구조는 

필드명 ph0_1 ph0_2 ph0_3로  3개로 나뉘고 

각각 010 / 0000 / 0000 이렇게 전화번호가 들어갑니다. 

ph0은 ~3까지잇습니다. (한 '행' 데이터당 전화번호를 3개받습니다.) 

ex) 
필드명                                    // 들어가는 값 예시 
 ph0_1    ph0_2     ph0_3                // 010 / 0000 / 0000 
 ph1_1    ph1_2     ph1_3 
 ph2_1    ph2_2     ph2_3 


sql문으로 010 / 0000 / 0000 가 중복되는 데이터를 가져오려는데 



ph0_1='010' AND ph0_1='0000' AND ph0_1='0000'  

OR 

ph1_1='010' AND ph1_1='0000' AND ph1_1='0000'  

OR 

ph2_1='010' AND ph2_1='0000' AND ph2_1='0000'  

... 

안되는거 알고있는데 어떻게 가져와야할지모르겠습니다. 

설명이 제대로 되었는지 잘모르겠습니다. 

혹시 괄호 연산이 되는지요? 

(ph0_1='010' AND ph0_1='0000' AND ph0_1='0000'  ) OR  (ph1_1='010' AND ph1_1='0000' AND ph1_1='0000'  )  OR (ph2_1='010' AND ph2_1='0000' AND ph2_1='0000'  ) 

이런식으로.. ㅠㅠ
 다음글 [해결]페이지 여백 이동(bootstrap3.css사용... (3)
 이전글 mysql 쿼리 질문 합니다. (8)

댓글

taegon / 2014/12/26 22:27:00 / 추천 0
답을 써놓으셨네요. 괄호로 구분해서 쓰시면 됩니다.
sql로 정리하자면
SELECT * FROM phone WHERE (ph0_1 = '010' AND ph0_1 = '0000' AND ph0_2 = '0000') OR ...
이런식이 되겠네요.
들국화 / 2014/12/29 10:20:44 / 추천 0
서비스 형태마다 다르겠지만 꼭 필요한 구분이 아니면 전화번호를 저렇케 구분할 필요가 있을까요?
차후 성능상 문제가 될수 있습니다.
neo천 / 2014/12/30 15:27:02 / 추천 0
들국화 // 그렇군요. 코드를 짜다보니, 저렇게 되었는데 앞으로는 좀더 저부분에 대해 생각을 하고 짜야겠습니다.

이미 짜놓은상태라, 어쩔수없네요.

태곤// 답변 감사합니다. 초보라 저런 경험이 없어서,, 잘 배우고갑니다.