救急!我被这个逻辑弄晕了!!SQL语句

编程有钱人了 2011-02-21 12:02:28
就一个表
3个字段

ID 自增的
UserName 用户名
Tjr 推荐人

例如:
ID UserName Tjr
1 wang 11
2 a wang
3 b wang
4 zhangsan 22
5 c zhangsan
6 d zhangsan
7 lisi 33
8 e lisi
9 f lisi
10 kkk wang


现在要筛选出 推荐出2个人的用户
比如“wang” 推荐了"a","b" 2个或2个以上就符合
zhangsan 推荐了“c”,“d” 也符合标准
a 不符合 ,因为他一个人都没推荐,同样b 也不符合


筛选出这样的用户要怎么写SQL?我晕了
...全文
64 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
中国风 2011-02-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wangjun8868 的回复:]

引用 1 楼 roy_88 的回复:

select Tjr from tab group by Tjr having count(1)>1

我要的是UserName
[/Quote]

select
b.*
from (select Tjr from tab group by Tjr having count(1)>1)a
inner join Tjr as b on a.Tjr=b.Tjr
叶子 2011-02-21
  • 打赏
  • 举报
回复

declare @table table (ID int,UserName varchar(8),Tjr varchar(8))
insert into @table
select 1,'wang','11' union all
select 2,'a','wang' union all
select 3,'b','wang' union all
select 4,'zhangsan','22' union all
select 5,'c','zhangsan' union all
select 6,'d','zhangsan' union all
select 7,'lisi','33' union all
select 8,'e','lisi' union all
select 9,'f','lisi' union all
select 10,'kkk','wang'

select Tjr from @table group by Tjr having (count(1)>1)
/*
Tjr
--------
lisi
wang
zhangsan
*/
编程有钱人了 2011-02-21
  • 打赏
  • 举报
回复
大家说的都对!!!
快溜 2011-02-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wangjun8868 的回复:]
引用 1 楼 roy_88 的回复:

select Tjr from tab group by Tjr having count(1)>1

我要的是UserName
[/Quote]

select username from tb
where username in (select Tjr from tb group by Tjr having count(1)>1)
快溜 2011-02-21
  • 打赏
  • 举报
回复

select * from tb
where username in (select Tjr from tb group by Tjr having count(1)>1)
编程有钱人了 2011-02-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 roy_88 的回复:]

select Tjr from tab group by Tjr having count(1)>1
[/Quote]
我要的是UserName
王向飞 2011-02-21
  • 打赏
  • 举报
回复
select Tjr ,count(Tjr)
FROM [TB]
group by Tjr
having count( Tjr)>=2
中国风 2011-02-21
  • 打赏
  • 举报
回复
count(1)<2--反之可改為
中国风 2011-02-21
  • 打赏
  • 举报
回复
select Tjr from tab group by Tjr having count(1)>1
打一壶酱油 2011-02-21
  • 打赏
  • 举报
回复
select b.*
from (select Tjr from tab group by Tjr having count(1)>1)a
inner join Tjr as b on a.Tjr=b.Tjr

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧