[SQL ] 想請問有關合併資料表的問題

看板Database作者 (勉強微笑)時間16年前 (2007/10/07 03:37), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/9 (看更多)
抱歉忘了提 是SQL SERVER 最近撈資料出現瓶頸了 想請教各位兩個問題 1.在撈資料的時候,以時間為搜尋的條件,撈一天 但因為資料庫的時間格式設定為如: 2007-10-05T23:59:01 +08:00 唯一想到的方式就是轉換資料庫時間去搜尋 => where to_char(c_time,'yyyy/mm/dd hh24:mi:ss') between '2007/10/05 00:00:00' and '2007/10/05 23:59:00' 但是或許是因為資料量大的關係,變成搜尋一天的資料時,要花上五分鐘的時間, 挺尷尬的,不知道大家有甚麼比較快的搜尋方法嗎? 前題是,資料庫不能更動 感謝各位!! 2.合併資料表的問題 1.H1:cTIME,ID,name,phone,pro_NO,proname,faults,.... 2.H2:cTIME,ID,name,QTY,SEQ,EQP_ID 希望兩個資料表合併以後能計算faults的數: COUNT(B.faults) AS TOTAL 合併之後應該會產生以下欄位: cTIME,ID(H1),name,phone,pro_NO(取前兩字元),proname,faults, ID(H2),QTY,E0010,TOTAL SELECT DISTINCT B.cTIME,B.ID,B.name,B.phone,substr(B.pro_NO,1,2) AS pro_NO, B.proname,B.faults,COUNT(B.faults) AS TOTAL,"A.* from(select name,QTY,MAX(E0010) E0010 FROM (select name,QTY,case when SEQ='0010' then EQP_ID end as E0010 from H2 where OP_SEQ in ('0010') ) group by name,QTY) A join H1 B on A.name=B.name AND to_char(cTIME,'yyyy/mm/dd hh24:mi:ss') BETWEEN ''2007/10/05 00:00:00' and '2007/10/05 23:59:00' GROUP BY B.cTIME,B.ID,B.name,B.phone,pro_NO,B.proname,B.faults 抱歉有點亂,我已經儘量排得好一點了,我知道多計算count時,後面要 group by 前面的所有欄位 但是我就是怎麼try都try不出來 所以在此請教各位,希望有人能告訴我 我的盲點在哪 謝謝!!!! 真的感激不盡!!!!!!!!! -- 我是呂小3小是我 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.229.80.168 ※ 編輯: shan311 來自: 61.229.80.168 (10/07 03:41) ※ 編輯: shan311 來自: 61.229.80.168 (10/07 03:44)
文章代碼(AID): #171-FbSi (Database)
討論串 (同標題文章)
以下文章回應了本文 (最舊先):
完整討論串 (本文為第 1 之 9 篇):
文章代碼(AID): #171-FbSi (Database)