日期:2014-05-18  浏览次数:20484 次

请教一个查询语句
Access数据库
有商品表A,仓库表B,库存表,C。

商品表:
商品ID
商品名称

仓库表:
仓库ID
仓库名称

库存表:
商品ID
仓库ID
库存数量

想查询所有商品某一仓库的库存数量,如果库存表中没有某个商品的库存数量记录,就显示库存数量为零。
谢谢

------解决方案--------------------
--Access中用nz()函数。

SELECT
1 as 仓库ID,
(select top 1 仓库名称 from 仓库表 where 仓库ID=1) as 仓库名称,
A.商品ID,
A.商品名称,
nz(B.库存数量,0) as 库存数量
FROM 商品表 AS A LEFT JOIN 库存表 AS B ON A.商品ID = B.商品ID
WHERE B.仓库ID=1

------解决方案--------------------
--SQL 2000

select A.*, 库存数量=isnull(C.库存数量, 0) from A
left join
(
select 商品ID, 仓库ID, 库存数量=sum(库存数量)
from C
group by 商品ID, 仓库ID
)C on A.商品ID=C.商品ID

------解决方案--------------------
哦,access有个nz相当月sqlserver的isnull
学到了,楼上原来就是那个access版的老大
以前用vb+access写过一个系统,有过的你回帖的帮助呢。
在此感谢一下