subquery 전문가 함 보세요

select *  from c_deal where de_mb_id='admin' and de_t='5' and de_jo_name = (select  de_jo_name   FROM c_deal WHERE `de_mb_id` ='admin'  AND `de_t` ='5' group by de_jo_name having sum(de_qtyB)-sum(de_qtyS) < 1 )
 
요러면 원하는 리스트 나오는데
요걸
 
delete  from c_deal where de_mb_id='admin' and de_t='5' and de_jo_name = (select  de_jo_name   FROM c_deal WHERE `de_mb_id` ='admin'  AND `de_t` ='5' group by de_jo_name having sum(de_qtyB)-sum(de_qtyS) < 1 )
하면
 
MySQL 메시지: 
#1093 - You can't specify target table 'c_deal' for update in FROM clause
 
게 되는 이유 아시는분 ....

 
|

댓글 3개

상황별로 어떤지 모르겠네요. 일단 스키마랑 샘플 데이타를 올려주시면 좀더 명확하게 체크 될것 같네요.

체크해봐야 할 부분
1. delete 조건절에 subquery 가능 여부와 subquery 에 group by, having 가능 여부
- select 랑 delete랑 다를수 있음..
2. select 에 max를 써봄
3. de_jo_name = 을 de_jo_name in 조건으로 변경해봄
자기 자신을 참조하여 insert,update,delete 할경우.. 발생하는 오류입니다.
해당 서브쿼리를 한번 더 감싸주시면 됩니당..


DELETE from c_deal
WHERE de_mb_id='admin'
AND de_t='5'
AND de_jo_name = (select T1.de_jo_name
from ( select de_jo_name
from c_deal
where `de_mb_id` ='admin'
and `de_t` ='5'
group by de_jo_name
having sum(de_qtyB)-sum(de_qtyS) < 1) T1)
요런식으로...
감솨해요....
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

+
제목 글쓴이 날짜 조회
14년 전 조회 1,103
14년 전 조회 1,073
14년 전 조회 1,852
14년 전 조회 1,636
14년 전 조회 2,681
14년 전 조회 1,650
14년 전 조회 1,254
14년 전 조회 3,776
14년 전 조회 1,975
14년 전 조회 1,409
14년 전 조회 1,764
14년 전 조회 1,118
14년 전 조회 2,317
14년 전 조회 1,197
14년 전 조회 1,618
14년 전 조회 1,124
14년 전 조회 1,628
14년 전 조회 1,880
14년 전 조회 1,386
14년 전 조회 1,178
14년 전 조회 1,410
14년 전 조회 1,287
14년 전 조회 2,334
14년 전 조회 1,519
14년 전 조회 1,198
14년 전 조회 1,137
14년 전 조회 1,718
14년 전 조회 2,992
14년 전 조회 1,129
14년 전 조회 2,932
14년 전 조회 2,130
14년 전 조회 1,273
14년 전 조회 1,497
14년 전 조회 1,389
14년 전 조회 1,375
14년 전 조회 931
14년 전 조회 1,104
14년 전 조회 1,207
14년 전 조회 1,577
14년 전 조회 1,266
14년 전 조회 1,635
14년 전 조회 1,393
14년 전 조회 1,617
14년 전 조회 1,191
14년 전 조회 1,434
14년 전 조회 1,345
14년 전 조회 1,207
14년 전 조회 1,102
14년 전 조회 1,555
14년 전 조회 1,954
14년 전 조회 1,347
14년 전 조회 1,175
14년 전 조회 3,691
14년 전 조회 1,237
14년 전 조회 1,126
14년 전 조회 2,469
14년 전 조회 1,897
14년 전 조회 2,400
14년 전 조회 970
14년 전 조회 1,215
14년 전 조회 1,046
14년 전 조회 895
14년 전 조회 1,006
14년 전 조회 1,108
14년 전 조회 1,876
14년 전 조회 1,223
14년 전 조회 1,298
14년 전 조회 915
14년 전 조회 1,431
14년 전 조회 2,017
14년 전 조회 1,439
14년 전 조회 1,692
14년 전 조회 1,198
14년 전 조회 1,357
14년 전 조회 1,162
14년 전 조회 1,475
14년 전 조회 1,346
14년 전 조회 789
14년 전 조회 957
14년 전 조회 979
14년 전 조회 1,307
14년 전 조회 1,131
14년 전 조회 1,158
14년 전 조회 1,109
14년 전 조회 1,526
14년 전 조회 1,219
14년 전 조회 1,244
14년 전 조회 1,315
14년 전 조회 1,062
14년 전 조회 2,107
14년 전 조회 1,871
14년 전 조회 1,319
14년 전 조회 1,152
14년 전 조회 2,231
14년 전 조회 1,580
14년 전 조회 1,424
14년 전 조회 1,152
14년 전 조회 1,858
14년 전 조회 4,119
14년 전 조회 2,777