谢谢各位帮忙!!!!!!!!!!!!

椰子 2004-11-21 12:37:43
字段 A B C D E
记录1 1 3 4 5 6
记录2 3 4 4 5 6
记录3 3 4 4 3 6
象这样就把纪录2和记录3选出来,只要是字段ABC值相等的记录,如果要达到这个效果。这条SQL语句改怎么样写。
...全文
121 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
椰子 2004-11-21
  • 打赏
  • 举报
回复
现在有两个表,t1 和 t2
其中:t1有字段a int,b numeric,c numeric,d numeric
t2有字段a int,bc numeric,val numeric
纪录:
t1:
a b c d
1 5 9 2.5
2 10 14 3
t2:
a bc val
1 5 24
1 6 42
1 6.5 30
1 7 80
我想统计sum(bc)*d where b=<bc=<c
最后结果为
t1:
a b c d e
1 5 9 2.5 (24+42+30+80)*2.5
1 6.5 14 3 (30+80)*3
应该怎样写Sql
mschen 2004-11-21
  • 打赏
  • 举报
回复

/*测试
a b c d e
----------- ----------- ----------- ----------- -----------
3 4 4 3 6
3 4 4 5 6

(所影响的行数为 2 行)
*/
zlp321002 2004-11-21
  • 打赏
  • 举报
回复
select * from tb t where exits (select * from a=t.a and b=t.b)
没测试,不知道可不可以!!
mschen 2004-11-21
  • 打赏
  • 举报
回复
sorry!写错了,没有仔细的考虑.
select * from abc a where exists(
select count(*) from abc b where b.a=a.a and b.b=a.b and b.c=a.c
having count(*)>1)
这个就可以了!
椰子 2004-11-21
  • 打赏
  • 举报
回复
不是这样的,应该是记录2.a=记录3.a and 记录2.b=记录3.b and 记录2.c=记录3.c
满足这个条件
mschen 2004-11-21
  • 打赏
  • 举报
回复
select * from tb where a=b and b=c
mschen 2004-11-21
  • 打赏
  • 举报
回复
能不能在解释的清楚点?
zlp321002 2004-11-21
  • 打赏
  • 举报
回复
bc=6 和bc=7 都在 6到9之间!!!
zlp321002 2004-11-21
  • 打赏
  • 举报
回复
bc=6 为什么没有统计??
kamiff 2004-11-21
  • 打赏
  • 举报
回复
select * from tb
where 记录2.a=记录3.a and 记录2.c=记录2.c and 记录2.b=记录2.b
go

34,590

社区成员

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

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