쿼리 질문 좀 드리겠습니다.

쿼리 질문 좀 드리겠습니다.

QA

쿼리 질문 좀 드리겠습니다.

본문

예를 들어 a컬럼에 값이 1,2,3,4,5 가 들어갈 수 있을때

 

ㄱ이라는 사람은 a=2,a=4,a=5 이렇게 세 개의 값을 가진 데이터가 있구요

ㄴ이라는 사람은 a=2,a=3 이렇게 두 개의 값을 가진 데이터가 있습니다.

ㄷ이라는 사람은 a=1,a=2,a=3,a=4 이렇게 네 개의 값을 가진 데이터가 있습니다.

 

select를 a의 값이 5가 있는 ㄱ은 아예 2,4의 데이터도 출력하고 싶지 않습니다.

 

ㄴ과 ㄷ만 출력하고 싶습니다.

ㄴ은 두 개, ㄷ은 네 개가 출력되도록이요....

 

쿼리를 어떤식으로 짜야될까요?

이 질문에 댓글 쓰기 :

답변 5

무슨 내용인 지 이해불가...제가 못알아보는거같네요.,. 

그러니까.....a필드에 값이 각각 4와 5가 들어간 두 개의 데이터를 가진 ㄱ이라는 사람이 있는데요
 
select를 할 때 값이 5가 있는사람은 select를 안하게 where에 a <> 5 를 넣으니까 이 사람이 4라는 값을
 
가진 데이터도 있어서 select가 되잖아요...아예 이 사람은 select가 안되도록 하고 싶다는 말입니다.

 na

 a

 

 

 ㄱ

 45

 

 

 

 

 

 

이런 식으로 설명좀, 

 

 

 

 a

 ㄱ

 4

 ㄱ

 5

 ㄴ

 1

 ㄴ

 2

 ㄴ

 4

 ㄷ

 3

 

 

이런식으로 있을때 5를 가지고 있는 ㄱ은 select가 되지 않게 하고 싶습니다. 

반복문 돌렸을때

이렇게 나오게 하고싶습니다.

서브쿼리를 사용해도 되겠지만

별도의 체크 쿼리를 돌려서 하면 속도면에서 오히려 이득이 날지도 모르겟습니다

 

그누보드용 코드로

$row=sql_fetch("select count(*) as cnt from table where a ='5'");

if($row[cnt]) $add_qry = "where mb_id <>'ㄱ' "; else $add_qry ='';

$result = sql_query("select * from table $add_qry");

 

서브쿼리 사용

$result = sql_query("select * from table where mb_id <> (select mb_id from table where a='5' limit 1) "); 

답변을 작성하시기 전에 로그인 해주세요.
전체 1,125
QA 내용 검색
filter #html ×

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT