欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

sql语句不会写 求大神帮忙.

更新时间: 2014-01-05 02:17:21 责任编辑: Author_N1

 

SQL语句不会写 求大神帮忙.在线等.....
表A                                    表B

Id  Name   Remark                      Id  AId  State
1   张山     无                        1    1   true
2   王二     无                        2    1   false
3   李四     无                        3    1   false
                                       4    2   true
                                       5    2   true
                                       6    3   false
                                       7    3   true

我想查询 表B 状态全部为true 的表A数据

结果:  ID     Name     Remark
        2      王二       无







--参考方法--
create table 表A(Id int, Name  varchar(10),  Remark varchar(10))  

insert into 表A
select 1   ,'张山'     ,'无' union all                                                          
select 2   ,'王二'     ,'无'  union all
select 3   ,'李四'     ,'无' 

create table 表B(Id int, AId int, State varchar(10))

insert into 表B                     
select 1    ,1   ,'true' union all
select 2    ,1   ,'false' union all
select 3    ,1   ,'false' union all
select 4    ,2   ,'true' union all
select 5    ,2   ,'true' union all
select 6    ,3   ,'false' union all
select 7    ,3   ,'true'



select *
from 表A
where ID in (select aid from 表B
             group by aid
             having COUNT(*)=COUNT(case when State = 'true ' then 1 else null end))
/*
Id Name Remark
2 王二 无
*/             

--参考方法--

select a.* from
(
  SELECT [AId],sum(case when [State]='true' then 0 else 1 end) as total
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:17:21
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/8033/
本文WWW.DOC100.NET DOC100.NET版权所有。