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,412
14년 전 조회 1,401
14년 전 조회 2,172
14년 전 조회 1,978
14년 전 조회 2,986
14년 전 조회 1,969
14년 전 조회 1,572
14년 전 조회 4,103
14년 전 조회 2,305
14년 전 조회 1,729
14년 전 조회 2,087
14년 전 조회 1,431
14년 전 조회 2,607
14년 전 조회 1,479
14년 전 조회 1,938
14년 전 조회 1,439
14년 전 조회 1,948
14년 전 조회 2,197
14년 전 조회 1,712
14년 전 조회 1,493
14년 전 조회 1,727
14년 전 조회 1,616
14년 전 조회 2,656
14년 전 조회 1,822
14년 전 조회 1,529
14년 전 조회 1,446
14년 전 조회 2,057
14년 전 조회 3,319
14년 전 조회 1,442
14년 전 조회 3,270
14년 전 조회 2,401
14년 전 조회 1,601
14년 전 조회 1,810
14년 전 조회 1,718
14년 전 조회 1,703
14년 전 조회 1,216
14년 전 조회 1,412
14년 전 조회 1,527
14년 전 조회 1,886
14년 전 조회 1,579
14년 전 조회 1,946
14년 전 조회 1,726
14년 전 조회 1,878
14년 전 조회 1,472
14년 전 조회 1,748
14년 전 조회 1,665
14년 전 조회 1,538
14년 전 조회 1,425
14년 전 조회 1,866
14년 전 조회 2,279
14년 전 조회 1,672
14년 전 조회 1,480
14년 전 조회 4,025
14년 전 조회 1,551
14년 전 조회 1,433
14년 전 조회 2,798
14년 전 조회 2,222
14년 전 조회 2,738
14년 전 조회 1,301
14년 전 조회 1,539
14년 전 조회 1,356
14년 전 조회 1,220
14년 전 조회 1,315
14년 전 조회 1,426
14년 전 조회 2,190
14년 전 조회 1,522
14년 전 조회 1,597
14년 전 조회 1,226
14년 전 조회 1,728
14년 전 조회 2,342
14년 전 조회 1,725
14년 전 조회 2,012
14년 전 조회 1,511
14년 전 조회 1,660
14년 전 조회 1,446
14년 전 조회 1,777
14년 전 조회 1,661
14년 전 조회 1,092
14년 전 조회 1,262
14년 전 조회 1,272
14년 전 조회 1,610
14년 전 조회 1,434
14년 전 조회 1,467
14년 전 조회 1,403
14년 전 조회 1,818
14년 전 조회 1,534
14년 전 조회 1,520
14년 전 조회 1,546
14년 전 조회 1,334
14년 전 조회 2,392
14년 전 조회 2,173
14년 전 조회 1,600
14년 전 조회 1,433
14년 전 조회 2,497
14년 전 조회 1,854
14년 전 조회 1,687
14년 전 조회 1,429
14년 전 조회 2,142
14년 전 조회 4,421
14년 전 조회 3,055