本人在操作SQL2000时,遇到了一个大难题,请帮兄弟一把。

yanqlv 2002-05-14 12:49:08
本人在操作SQL2000时,遇到了一个大难题,请帮兄弟一把。
问题是:

TEST
中有字段
TESTA,TESTB,TESTC,TESTD,TESTE。
对应记录:
1 ,1 ,1 ,2 ,2;
1 ,0 ,0 ,2 ,1;
1 ,2 ,1 ,2 ,2;
1 ,1 ,1 ,2 ,2;
1 ,2 ,1 ,2 ,2;
1 ,1 ,1 ,2 ,2;
0 ,1 ,1 ,2 ,2;

我想作一条SQL语句,可以抽出表TEST中的满足TESTD==2与TESTE==2的记录,
另外有个条件要求得出这个记录集合中对应字段TESTA,TESTB,TESTC都相等的记录的个数,要生成的记录如下
TESTA,TESTB,TESTC,TESTD,TESTE,COUNT
1 ,1 ,1 ,2 ,2, 2
1 ,2 ,1 ,2 ,2, 1
1 ,1 ,1 ,2 ,2, 2
1 ,2 ,1 ,2 ,2, 1
1 ,1 ,1 ,2 ,2, 2
0 ,1 ,1 ,2 ,2, 0
COUNT就是TESTA,TESTB,TESTC相等的记录个数,不包括自己。
...全文
32 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
net_steven 2002-05-14
  • 打赏
  • 举报
回复
select a.*,isnull(b.count,0) as count
from test a left join
(select a,b,c,count(*) as count from test where a=b and b=c group by a,b,c) b on a.a=b.a and a.b=b.b and a.c=b.c
where a.d=2 and a.e=2
---------------------------------
想当然,未测试。

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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