日期:2014-05-18  浏览次数:20606 次

我想查询出以A,B列分组后对应的B列所有值大于2的A列值,即结果只有是3的查询语句
查询语句
A列 B列
1 1
1 2
1 3
2 1
2 2
3 3
3 4

我想查询出以A,B列分组后对应的B列所有值大于2的A列值,即结果只有是3的查询语句

------解决方案--------------------
如果只有两列
select distinct a列 from tb where b列>2

有多列也同上面一样 你只查a列

------解决方案--------------------
SQL code
if object_id('[tb]') is not null drop table [tb]
go
create table [tb]([A] int,[B] int)
insert [tb]
select 1,1 union all
select 1,2 union all
select 1,3 union all
select 2,1 union all
select 2,2 union all
select 3,3 union all
select 3,4
go

select * from tb t
where not exists(select 1 from tb where a=t.a and b<=2)

/**
A           B
----------- -----------
3           3
3           4

(2 行受影响)
**/

------解决方案--------------------
探讨
select * from tb t
where not exists(select 1 from tb where a=t.a and b<=2)
请教兄台
select 1 from tb where a=t.a and b<=2是什么意思