一條SQL的改寫

2021-09-22 19:01:52 字數 808 閱讀 8815

最近需求中需要實現這樣乙個功能

找主活動是未鎖定的,且已確認的子活動資料,表中資料的分布是這樣的

表中資料存放結構

主活動1   沒鎖定

子活動 主11  已確認

子活動 主22  已確認

主活動2    鎖定

子活動 主21  未確認

子活動 主22  已確認

1用 not exist實現

select t1.attr01, t1.attr04, t1.mem_nm

from chnqltown.3pl t1

where t1.確認否=to_char(trunc(sysdate-1),'yyyymmdd')

and  not exists(select 1 from 3pl t2 where t2.stage in ('init','over')

and  t1.wec_opn_id=t2.wec_opn_id and t1.mem_id=t1.mem_id and t2.鎖定否='y')

2 用關聯查詢

select t1.attr01, t1.attr04, t1.mem_nm

from  chnqltown.3pl t1

, chnqltown.3pl t2

where t1.wec_opn_id=t2.wec_opn_id and t1.mem_id=t2.mem_id

and t2.stage in ('init','over') and t2.鎖定否= 'n'

and t1.確認否=to_char(trunc(sysdate-1),'yyyymmdd')

一條sql 分類彙總

表結構 stuid stuname stucourse stugrade 001 a 語文 88 002 b 語文 89 003 a 數學 98 004 b 數學 100 005 a 英語 87 006 b 英語 86 mysql select groupid,stuid,stuname,cours...

一條SQL語句研究

現有 select from t where a in 5,3,2,1,8,9,30.假設 a 是主鍵,in裡面的引數是唯一的。現要求輸出的結果集按照 in 提供的引數順序排序。而不是按照a本身的排序規則排序?另 如果不要求使用臨時表或表變數,那麼又有什麼辦法實現。臨時表方案參卡 create ta...

一條sql 語句的優化

第二個版本 一條sql搞定,使用巢狀查詢,費時2 3分鐘 select a.indexid,c.title,c.createdtime,c.intro,d.picurl,e.src,e.size,e.info from mms content index a,mms index node b,mms...