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,379
14년 전 조회 1,376
14년 전 조회 2,148
14년 전 조회 1,940
14년 전 조회 2,958
14년 전 조회 1,933
14년 전 조회 1,541
14년 전 조회 4,077
14년 전 조회 2,282
14년 전 조회 1,697
14년 전 조회 2,059
14년 전 조회 1,402
14년 전 조회 2,572
14년 전 조회 1,454
14년 전 조회 1,908
14년 전 조회 1,413
14년 전 조회 1,914
14년 전 조회 2,165
14년 전 조회 1,684
14년 전 조회 1,454
14년 전 조회 1,688
14년 전 조회 1,584
14년 전 조회 2,625
14년 전 조회 1,786
14년 전 조회 1,507
14년 전 조회 1,416
14년 전 조회 2,021
14년 전 조회 3,292
14년 전 조회 1,411
14년 전 조회 3,225
14년 전 조회 2,370
14년 전 조회 1,566
14년 전 조회 1,779
14년 전 조회 1,693
14년 전 조회 1,671
14년 전 조회 1,190
14년 전 조회 1,376
14년 전 조회 1,498
14년 전 조회 1,859
14년 전 조회 1,545
14년 전 조회 1,907
14년 전 조회 1,688
14년 전 조회 1,844
14년 전 조회 1,442
14년 전 조회 1,714
14년 전 조회 1,639
14년 전 조회 1,511
14년 전 조회 1,389
14년 전 조회 1,832
14년 전 조회 2,250
14년 전 조회 1,639
14년 전 조회 1,453
14년 전 조회 3,994
14년 전 조회 1,518
14년 전 조회 1,405
14년 전 조회 2,765
14년 전 조회 2,192
14년 전 조회 2,702
14년 전 조회 1,273
14년 전 조회 1,513
14년 전 조회 1,324
14년 전 조회 1,199
14년 전 조회 1,280
14년 전 조회 1,393
14년 전 조회 2,163
14년 전 조회 1,494
14년 전 조회 1,572
14년 전 조회 1,199
14년 전 조회 1,694
14년 전 조회 2,311
14년 전 조회 1,699
14년 전 조회 1,987
14년 전 조회 1,485
14년 전 조회 1,639
14년 전 조회 1,420
14년 전 조회 1,748
14년 전 조회 1,623
14년 전 조회 1,064
14년 전 조회 1,234
14년 전 조회 1,244
14년 전 조회 1,583
14년 전 조회 1,411
14년 전 조회 1,449
14년 전 조회 1,377
14년 전 조회 1,790
14년 전 조회 1,502
14년 전 조회 1,501
14년 전 조회 1,520
14년 전 조회 1,307
14년 전 조회 2,371
14년 전 조회 2,149
14년 전 조회 1,574
14년 전 조회 1,413
14년 전 조회 2,469
14년 전 조회 1,834
14년 전 조회 1,667
14년 전 조회 1,409
14년 전 조회 2,121
14년 전 조회 4,405
14년 전 조회 3,038