想不出来请大家多多指教!!

wendyc 2006-11-24 04:56:03
aid qty
a 1000
b 200
c 600

table b
aid qty bid
a 200 1
a 900 2
a 200 3
b 100 1
c 700 1
......
我想要这样的效果
a 1000 200 1
a 1000 900 2
b 200 100 1
c 600 700 1

是一个库存的问题,b 表的总和是库存 但是查询出来只要上面的和(200+900>1000)就不显示下面的,如果不足全部都显示

想了半天 请大家多多指教!!
...全文
209 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wendyc 2006-11-30
  • 打赏
  • 举报
回复
大家 谢谢了 问题解决了;
zhang_yzy 2006-11-27
  • 打赏
  • 举报
回复
select
id,
aqty,
bqty,
bid
from
(
select
a.id ,
a.qty as aqty,
b.qty as bqty,
b.bid,
isnull((select sum(qty) from b c where aid =b.aid and bid<b.bid),0) as sum1
from
a left join b on a.id=b.aid
) e
where
aqty >sum1
userqin 2006-11-27
  • 打赏
  • 举报
回复
lz要的是这样的结果吗?

aid a.qty b.qty bid
a 1000 200 1
a 1000 900 2
a 1000 200 3
b 200 100 1
c 600 700 1



select b.aid,a.qty,b.qty,b.bid from a ,b where a.id=b.aid

userqin 2006-11-27
  • 打赏
  • 举报
回复
你给的查询结果中没有 a 200 3 这一行,
使用了group by aid,qty


chenjunjarysky 2006-11-27
  • 打赏
  • 举报
回复
学习了哦!
wendyc 2006-11-25
  • 打赏
  • 举报
回复
我查询的结果把所有的都显示出来了 好象不对,是以什么样的限制条件让 a 200 3不显示的呢??
userqin 2006-11-24
  • 打赏
  • 举报
回复
create table a
(
id varchar(2) primary key,
qty int
)

insert into a select 'a',1000
union all select 'b',200
union all select 'c',600

select * from a
create table b
(
aid varchar(2) ,
qty int,
bid int
)


insert into b select 'a',200,1
union all select 'a',900,2
union all select 'a',200,3
union all select 'b',100,1
union all select 'c',700,1

select b1.aid,a1.qty ,b1.qty,b1.bid from a a1,(select aid,qty,min(bid) as bid from b group by aid,qty ) b1 where a1.id=b1.aid order by b1.aid
lizhizhe2000 2006-11-24
  • 打赏
  • 举报
回复
Creat View myview AS
SELECT ....
FROM a,b
WHERE a.aid=b.bid
wendyc 2006-11-24
  • 打赏
  • 举报
回复
自己先顶,今天下班了 明天再看!!

34,873

社区成员

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

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