求一个sql语句,筛选出指定要求的数据。 15
场景如下:一个工单id下有多条信息模板,每个模板用templateId字段来辨识每条信息有一个状态,异常E正常N现在出现如下情况一个id下,有多条信息模板,每个模板均有一...
场景如下:
一个工单id下
有多条信息模板,每个模板用 templateId字段来辨识
每条信息有一个状态,异常E 正常N
现在出现如下情况
一个id下,有多条信息模板,每个模板均有一个状态,可以有重复的信息模板。
要求筛选出符合如下条件的id:
id对应的信息模板,不论有没有重复的模板信息,
比如模板A,B,C,有2个A,3个B,1个C,总共6个信息模板,只要ABC,每一个模板,都有一个或者多个状态为N即可。
假如2个A状态都是E,则,不符合上述要求。
麻烦各位给出一个sql 脚本来进行筛选。 展开
一个工单id下
有多条信息模板,每个模板用 templateId字段来辨识
每条信息有一个状态,异常E 正常N
现在出现如下情况
一个id下,有多条信息模板,每个模板均有一个状态,可以有重复的信息模板。
要求筛选出符合如下条件的id:
id对应的信息模板,不论有没有重复的模板信息,
比如模板A,B,C,有2个A,3个B,1个C,总共6个信息模板,只要ABC,每一个模板,都有一个或者多个状态为N即可。
假如2个A状态都是E,则,不符合上述要求。
麻烦各位给出一个sql 脚本来进行筛选。 展开
2个回答
展开全部
比如表Table
select * from Table t where
exists (select * from Table a where A='N' and t.id = a.id) and
exists (select * from Table b where B='N' and t.id = b.id) and
exists (select * from Table c where C='N' and t.id = c.id) ;
select * from Table t where
exists (select * from Table a where A='N' and t.id = a.id) and
exists (select * from Table b where B='N' and t.id = b.id) and
exists (select * from Table c where C='N' and t.id = c.id) ;
追问
刚才例子里,可能有偏差。我举的例子是 假如有ABC模板,现在情况是,有很多工单,每个工单下的信息模板不同,可能 还有D E F等。请问如何编写这个sql。
追答
这个需要写存储过程,sql实现有点难度,明天再看吧
展开全部
shit有那么复杂吗
select * from t where t.状态='N'
select * from t where t.状态='N'
追问
您好,可能您没有仔细阅读我的条件。
模板分为很多种,要求是每类模板,至少有一个状态为N就可以了。比如,某工单id下 有 4个类型的模板:A,B,C,D,总共6条模板(A有2个,B有两个,C一个,D一个) 那么这四类模板每个模板都要有状态为N的,那么,剩余有些状态为E,这种也满足(比如A一个为N,另一个为E,B两个都为N,C,D状态也为N)。您这个脚本,不能筛选出来的。
您这个脚本只能把 某工单id下 所有的模板都是N的筛选出来。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |