拎干的毛巾
2016-10-22 04:22
采纳率: 25%
浏览 1.0k

这个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条回答 默认 最新

  • _锦衣卫 2016-10-22 05:42
    已采纳

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

    点赞 评论
  • 拎干的毛巾 2016-10-22 06:45

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

    点赞 评论

相关推荐 更多相似问题