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년 전 조회 783
14년 전 조회 749
14년 전 조회 1,533
14년 전 조회 1,347
14년 전 조회 2,424
14년 전 조회 1,343
14년 전 조회 940
14년 전 조회 3,468
14년 전 조회 1,686
14년 전 조회 1,107
14년 전 조회 1,474
14년 전 조회 822
14년 전 조회 1,953
14년 전 조회 901
14년 전 조회 1,319
14년 전 조회 824
14년 전 조회 1,351
14년 전 조회 1,590
14년 전 조회 1,112
14년 전 조회 897
14년 전 조회 1,110
14년 전 조회 1,009
14년 전 조회 2,053
14년 전 조회 1,228
14년 전 조회 915
14년 전 조회 827
14년 전 조회 1,430
14년 전 조회 2,716
14년 전 조회 821
14년 전 조회 2,644
14년 전 조회 1,763
14년 전 조회 987
14년 전 조회 1,217
14년 전 조회 1,101
14년 전 조회 1,094
14년 전 조회 619
14년 전 조회 820
14년 전 조회 921
14년 전 조회 1,304
14년 전 조회 986
14년 전 조회 1,354
14년 전 조회 1,112
14년 전 조회 1,220
14년 전 조회 831
14년 전 조회 1,123
14년 전 조회 1,045
14년 전 조회 905
14년 전 조회 800
14년 전 조회 1,273
14년 전 조회 1,689
14년 전 조회 1,058
14년 전 조회 893
14년 전 조회 3,423
14년 전 조회 948
14년 전 조회 821
14년 전 조회 2,210
14년 전 조회 1,616
14년 전 조회 2,144
14년 전 조회 694
14년 전 조회 950
14년 전 조회 801
14년 전 조회 633
14년 전 조회 731
14년 전 조회 858
14년 전 조회 1,608
14년 전 조회 956
14년 전 조회 1,016
14년 전 조회 636
14년 전 조회 1,167
14년 전 조회 1,755
14년 전 조회 1,150
14년 전 조회 1,426
14년 전 조회 934
14년 전 조회 1,088
14년 전 조회 887
14년 전 조회 1,208
14년 전 조회 1,092
14년 전 조회 522
14년 전 조회 659
14년 전 조회 711
14년 전 조회 1,051
14년 전 조회 874
14년 전 조회 876
14년 전 조회 845
14년 전 조회 1,260
14년 전 조회 966
14년 전 조회 964
14년 전 조회 972
14년 전 조회 784
14년 전 조회 1,836
14년 전 조회 1,614
14년 전 조회 1,038
14년 전 조회 865
14년 전 조회 1,943
14년 전 조회 1,312
14년 전 조회 1,153
14년 전 조회 901
14년 전 조회 1,612
14년 전 조회 3,868
14년 전 조회 2,519