[SQL ] 想請問有關合併資料表的問題
抱歉忘了提 是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)
討論串 (同標題文章)
以下文章回應了本文 (最舊先):
完整討論串 (本文為第 1 之 9 篇):