简单分组语句问题,在线等待

laurecn 2004-08-11 04:36:08
begin tran
create table ly1
(
ID int,num int,code int
)
go
insert into ly1 values(1,2,1)
insert into ly1 values(2,2,1)
insert into ly1 values(3,2,2)
insert into ly1 values(4,2,2)
insert into ly1 values(5,2,3)
insert into ly1 values(6,2,4)
create table ly2
(
code int,num int,p int
)
go
insert into ly2 values(1,3,1)
insert into ly2 values(2,5,1)
insert into ly2 values(3,2,1)
insert into ly2 values(4,3,1)
go
--下面部分要实现问题,但是结果错误,请问如何处理呢
select b.code
from ly1 a,ly2 b
where a.code=b.code
group by b.code
having sum(a.num)<sum(b.num)
go

rollback tran

表ly1中存储有各种物品的库存明细,code是物品编号,num是数量;ly2中存储需要从仓库中领取的纪录信息,code是物品编号,num是需要领取数量;
现在要取出来库存不够的物品编号列表,如何处理?不希望是游标处理(以前好像写过但忘记了,求助)
...全文
82 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
青团子 2004-08-11
  • 打赏
  • 举报
回复
select b.code,sum(a.num) InNum,sum(b.num) OutNum
from (select Sum(num) num,code From ly1 group by code) a,ly2 b
where a.code=b.code
group by b.code
having sum(a.num)<sum(b.num)
laurecn 2004-08-11
  • 打赏
  • 举报
回复
Cityfire(青团子) 结果对了,先谢谢你
同时我还要取出来 库存总数量呢
老宛 2004-08-11
  • 打赏
  • 举报
回复
结果为2和4,应该是对的吧
老宛 2004-08-11
  • 打赏
  • 举报
回复
试试这个:
select b.code
from (select code,sum(num)as num from ly1 group by code) a,(select code,sum(num) as num from ly2 group by code) b
where a.code=b.code and a.num<b.num
laurecn 2004-08-11
  • 打赏
  • 举报
回复
要取出来库存不够的物品编号列表,如何处理?
取出来的结果不正确,可以在sql中试验一下
青团子 2004-08-11
  • 打赏
  • 举报
回复
select b.code
from (select Sum(num) num,code From ly1 group by code) a,ly2 b
where a.code=b.code
group by b.code
having sum(a.num)<sum(b.num)
青团子 2004-08-11
  • 打赏
  • 举报
回复
查询出来的结果不就是库存不够物品编号列表么?
老宛 2004-08-11
  • 打赏
  • 举报
回复
你想要得到什么结果?

34,576

社区成员

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

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