有A、B兩張表,
A表結構如下:ID代表設備編號,TYPE為該設備某一批次類型編號,RATE為錯誤率。ID一對多TYPE。
字段如下:
ID TYPE RATE
1 A 0.23
1 B 0.13
2 C 0.19
2 C 0.99
3 A 0.51
4 B -0.11
4 A 1
B表結構如下:ID代表設備編號,TIME為某一個ID設備開始工作時間,TIME和ID一對一。
ID TIME
1 2016-10-01 12:00:00
2 2016-11-05 21:23:00
3 2016-09-01 02:11:45
A表中ID和B表中ID一個含義。B表記錄的是設備編號信息,A表記錄某個設備生產的詳細信息。
需求:假設已知A表中某個ID設備的某個TYPE的 RATE>0 數據,需要查詢出連續三天該TYPE有沒有RATE>0 的情況出現(只看TYPE,不論是哪個設備ID)。
針對上面的需要我想用一條SQL語句實現,給出返回值。比方說如果出現TYPE連續三天RATE>0,返回1,否則返回0。
問題補充:一個設備只產生一次,TIME即為產生時間, 所以B表中ID唯一,且時間唯一。一個設備只能使用一天,第二天即廢棄。
A表中ID和B表中ID一個含義。B表記錄的是設備編號信息,A表記錄某個設備一天內生產的詳細信息。
select TYPE from A where datediff( dd,getdate(),[time])>3 and RATE>0