首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

工序显示有关问题

2013-07-04 
工序显示问题现有一张log表,记录每个产品在每一道工序的通过情况,如下:idsnprocessstatus1001p1pass2001p2

工序显示问题
现有一张log表,记录每个产品在每一道工序的通过情况,如下:

id         sn         process       status
1          001          p1          pass
2          001          p2          fail
3          001          p2          fail
4          001          p2          pass
5          001          p3          fail
6          001          p3          pass
7          001          p4          fail


p1,p2,p3,p4代表工序,工序个数不固定,001这个产品在p2工序失败了两次,第三次成功;在p3工序失败一次,第二次成功;在p4工序失败。

现在的需求是:根据sn查询该表,每个工序只显示最新一条记录,且中间工序失败的不显示。
得到类似于如下的结果:

id         sn         process       status
7          001          p4          fail
6          001          p3          pass
4          001          p2          pass
1          001          p1          pass

请各位大牛帮帮忙,感激! SQL
[解决办法]
SELECT *
FROM TB A
WHERE NOT EXISTS(SELECT 1 FROM TB B WHERE A.sn = B.sn AND A.id < b.id AND A.process = b.process)
and A.sn = '001' --加上你的条件即可。

热点排行