mysql 쿼리질문 0 2 3,906

by 호야별리 [MySQL] [2015.03.04 19:46:15]


안녕하세요...

mysql 쿼리관련 질문좀 드리려구요

현재 3개의 테이블이 존재합니다.

서브쿼리를 이용해서 아래와같이 쿼리문을 만들었는데요.

select wm.idx as idx,wm.id as id,wm.passwd,wm.name,wm.hphone,wm.tphone,wm.email,wm.level,wm.visit,wm.wdate,wt.*,
(select com_ing2 from wiz_feeHistory where memid=wm.id) from wiz_member wm, wiz_company wt where wm.id = wt.id and wm.division = 'k'

제가 잘못 쿼리문을 구성해놨는지

#1242 - Subquery returns more than 1 row 

위와같은 에러가 뜨는데요.

잘못된부분좀 조언부탁드립니다.

또한 order by 절을 붙여도 위와같은 에러가 발생이 되고있네요.

감사합니다.

by 마농 [2015.03.05 08:54:56]

테이블명에 history 가 붙은 걸로 봐서 id 로 조인시 당연히 여러건이 나올것 같네요.
스칼라서브쿼리에서는 1건만 허용됩니다.
1건만 가져올 수 있는 유일 조건이 추가가 되야 하구요.
누락된 조건은 없는지 확인해 보시구요.
조건은 별도로 없고 특정 로직(가장 최신 것 등등)을 적용해야 하는 경우도 있겠구요.
아래는 최신것 하나 가져오기 예문입니다.
(SELECT com_ing2 FROM wiz_feeHistory WHERE memid = wm.id ORDER BY dt DESC LIMIT 1)


by 호야별리 [2015.03.05 10:55:09]

마농님 답변감사합니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입