쿼리 질문 좀 드리겠습니다.
본문
예를 들어 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
무슨 내용인 지 이해불가...제가 못알아보는거같네요.,.
na |
a |
|
|
ㄱ |
45 |
|
|
|
|
|
|
이런 식으로 설명좀,
|
|
a |
ㄱ |
4 |
ㄱ |
5 |
ㄴ |
1 |
ㄴ |
2 |
ㄴ |
4 |
ㄷ |
3 |
이런식으로 있을때 5를 가지고 있는 ㄱ은 select가 되지 않게 하고 싶습니다.
반복문 돌렸을때
ㄴ
ㄴ
ㄴ
ㄷ
이렇게 나오게 하고싶습니다.
조건 a<5
서브쿼리를 사용해도 되겠지만
별도의 체크 쿼리를 돌려서 하면 속도면에서 오히려 이득이 날지도 모르겟습니다
그누보드용 코드로
$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) ");