这个SQL查询语句怎么写??????

有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表记录某个设备一天内生产的详细信息。

2个回答

select TYPE from A where datediff( dd,getdate(),[time])>3 and RATE>0

u013703963
_锦衣卫 回复拎干的毛巾: 只是模拟一下知识点,再加个判断就行了!
大约 3 年之前 回复
Henry_YQH
拎干的毛巾 您这写的不对吧,B表呢都没有用到?
3 年多之前 回复

您这写的不对吧,B表呢都没有用到?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问