쿼리문 검토 부탁드립니다. 채택완료
//분류가 같아야한다
//wr_1~wr_7이 신청자와 같아선 안된다.
//wr_1은 비어있으면 안된다.
//wr_2 또는 wr_3가 추천인이여야한다
//wr_2가 추천인 이면
//->wr_4와 wr_6 둘다 비어있거나 =>wr_4로 저장
//->wr_4는 값이 있더라도 wr_6는 비어있어야한다. =>wr_6로 저장
//wr_3가 추천인이면
//->wr_5와 wr_7 둘다 비어있거나 =>wr_5로 저장
//->wr_5는 값이 있더라도 wr_7는 비어있어야한다. =>wr_7로 저장
//값은 오래된 순서로 하나 불러온다.
위의 조건을 다음과 같이 쿼리 작성했습니다.
select * from `g5_write_gold_tree`
where
`ca_name`="'.$result_v['ca_name'].'"
and `wr_1` !="'.$result_v['wr_content'].'"
and `wr_2` !="'.$result_v['wr_content'].'"
and `wr_3` !="'.$result_v['wr_content'].'"
and `wr_4` !="'.$result_v['wr_content'].'"
and `wr_5` !="'.$result_v['wr_content'].'"
and `wr_6` !="'.$result_v['wr_content'].'"
and `wr_7` !="'.$result_v['wr_content'].'"
and `wr_1` !=""
and
(
`wr_2`="'.$mb_info1['mb_nick'].'" and (`wr_4` ="" and `wr_6`="" or `wr_4` !="" and `wr_6`="")
or
`wr_3`="'.$mb_info1['mb_nick'].'" and (`wr_5` ="" and `wr_7`="" or `wr_5` !="" and `wr_6`="")
)
order by wr_datetime asc limit 1
검토 부탁드리고 더 좋은 방법이 있다면 알려주세요
답변 1개
음 저는 DB구성을 조금 수정하고싶네요
만약 추천인이 wr_2 , wr_3이있는데 이 추천인이 종류가 다른거잖아요? 그래서 각각 다른 컬럼에 저장한것같은데
추천인을 구분하는 컬럼을 하나 잡고 시작했으면 어떨까합니다
구분:wr_2 , 추천인:wr_3, 추천인정보1:wr_4, 추천인정보2:wr_5 이런식으로말이죠
이 추천인 부분에서 쿼리가 길어지고 복잡해지는것같네요
작성하신 쿼리문에서도 추천인 부분은 or로 하고 추천인도 하나인점($mb_info1['mb_nick'])을 보니 이렇게해도 무방할것같은데말이죠
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
다만 추천인 종류는 같습니다.
다만 짝수 홀수로 나뉘어서 나중에 다시 구분되어야하는 구조여서
종류를 구분할 수 없었습니다 ㅠ
추후 홀수가 짝수 번째에 들어갈 수도 있고 따로 특정지을만한 기준이 명확히 없어서 그렇게 짰습니다