求助求助啊,大神快来吧,帮帮我吧,搞了一下午了,有点晕了

WDYDXF 2012-07-24 10:12:06
表数据如下:
=================================================
合同ID 设备名称 设备总数量 实际收货数量
CT0000000086 服务器 2 2
CT0000000086 扫描仪 2 2
CT0000000086 学生用耳机 5 5
CT0000000087 涂料 50 NULL
CT0000000087 桌子 50 25
CT0000000088 设备2 5 NULL
CT0000000088 设备1 10 10
=====================================================

想要的结果如下:
=====================================================
合同ID
CT0000000086
=====================================================

结果集的要求是:
1.设备总数量= 实际收货数量;
2.对于一个合同ID,要求必须该合同的所有设备都满足第1条件;






...全文
64 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
WDYDXF 2012-07-24
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]
SQL code
select distinct 合同ID from tb t
where not exists(select 1 from tb where 合同ID=t.合同ID and 设备总数量!= isnull(实际收货数量,0))
[/Quote]

高手!!!

太感谢啦!能不能大概解释一下思路啊,没看懂啊
百年树人 2012-07-24
  • 打赏
  • 举报
回复
select distinct 合同ID from tb t
where not exists(select 1 from tb where 合同ID=t.合同ID and 设备总数量!= isnull(实际收货数量,0))
WDYDXF 2012-07-24
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

引用 3 楼 的回复:
引用 2 楼 的回复:

SQL code
select * from tb t
where not exists(select 1 from tb where 合同ID=t.合同ID and 设备总数量!= 实际收货数量)


你好,结果不对啊

按照您的sql语句结果是这样:
CT0000000086 服务器 2 2
CT0000000086……
[/Quote]

两个都是null的情况,不可能出现,因为设备总数量 不可能为null值
WDYDXF 2012-07-24
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

引用 3 楼 的回复:
引用 2 楼 的回复:

SQL code
select * from tb t
where not exists(select 1 from tb where 合同ID=t.合同ID and 设备总数量!= 实际收货数量)


你好,结果不对啊

按照您的sql语句结果是这样:
CT0000000086 服务器 2 2
CT0000000086……
[/Quote]

不算
百年树人 2012-07-24
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
引用 2 楼 的回复:

SQL code
select * from tb t
where not exists(select 1 from tb where 合同ID=t.合同ID and 设备总数量!= 实际收货数量)


你好,结果不对啊

按照您的sql语句结果是这样:
CT0000000086 服务器 2 2
CT0000000086 扫描仪 2 2
CT000……
[/Quote]
如果两个都是null算不算相等?
白天的猫头鹰 2012-07-24
  • 打赏
  • 举报
回复
不明白说什么
WDYDXF 2012-07-24
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

SQL code
select * from tb t
where not exists(select 1 from tb where 合同ID=t.合同ID and 设备总数量!= 实际收货数量)
[/Quote]

你好,结果不对啊

按照您的sql语句结果是这样:
CT0000000086 服务器 2 2
CT0000000086 扫描仪 2 2
CT0000000086 学生用耳机 5 5
CT0000000088 设备2 5 NULL
CT0000000088 设备1 10 10
百年树人 2012-07-24
  • 打赏
  • 举报
回复
select distinct 合同ID from tb t
where not exists(select 1 from tb where 合同ID=t.合同ID and 设备总数量!= 实际收货数量)
WDYDXF 2012-07-24
  • 打赏
  • 举报
回复
有谁在加班啊,帮我看一下啦

34,575

社区成员

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

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