做期初库存,现在有仓库:编号,名称。
商品:编号,名称。
库存表:仓库编号,商品编号,库存数量,库存上限,库存下限。我想做成这种样子的,左边要列出所有商品,不管它当前在库存表中有没有记录。仓库名称:北京库(选择)------------------------------------
商品编号 商品名称 库存数量 库存上限 库存下限
001 信封 [input] [input] [input]
002 信纸 [input] 2700 20
003 墨 12 [input] [input]
004 本子 [input] 2300 [input]
005 铅笔 [input] [input] 26
006 毛笔 [input] [input] [input]
..........................-------------------------------------有数字的就表示已经输入了,没数字的就显示空白等待输入,界面我已经做好了。SQL1:
select 商品.编号,商品.名称,商品.单位,库存上限,库存下限 from 库存表
full join 商品 on 商品.编号=库存表.商品编号
full join 仓库 on 1=1
where 仓库.名称='北京库'这样却会把其他仓库中的也带进来。商品有重复SQL2:select 商品.编号,商品.名称,商品.单位,库存上限,库存下限 from 库存表
full join 商品 on 商品.编号=库存表.商品编号
full join 仓库 on 仓库.编号=库存表.仓库编号
where 仓库.名称='北京库'这样商品却显示不全了。
怎么办?
这样的SQL语句应该怎么写呢?
就是说左边要列出所有商品,不管它当前在库存表中有没有记录。
解决方案 »
- 帮我写一个SQL语句吧
- sql 设置sa 为空密码的结果
- 重复语句问题(在线等) 刚才的未解决啊 回答的可以用直接给100哦
- FOR XML 当字段为NULL时,xml丢失了字段属性,怎么解决?
- PowerDesginer建库第一个界面让选择share和copy有什么区别?
- 想学习一下触发器
- 文件被加密怎么查看
- 有没有备用服务器的配置方法?
- 我使用了別人的一段存儲過程,可是無法得到output參數值??請高手看看!!
- 高手救命,我快疯了!
- 请教一条,统计的SQL语句
- sql server varchar 类型默认值 要求 convert(varchar,1000000000000+ID)+convert(varchar,getdate(),112)
--try:
select 商品.编号,商品.名称,商品.单位,库存上限,库存下限 from 商品
left join 库存表 on 商品.编号=库存表.商品编号
left join 仓库 on 仓库.编号=库存表.仓库编号
where 仓库.名称='北京库'
001 CPU
0021 光驱
003 内存
004 显卡
005 VISUAL STUDIO
006 主板
007 Windows XP
0076 Office 2007
008 Linux
009 硬盘
010 机箱
01048 鼠标
0115 键盘
select 编号,名称 from 仓库
001 北京库
002 上海库
003 无锡库select 商品编号,仓库编号,库存数量,库存上限,库存下限 from 库存表
003 001 4274 342 3
004 001 707 0 0
005 001 64 0 0
006 001 177 4343 0
001 001 1375 0 0
008 001 121 76786 0
007 001 32 545 0
0076 001 476 6565 0
009 001 503 8776 0
010 001 34531 6565 0
001 002 3222 NULL NULL
004 002 3232153 NULL NULL
0021 001 NULL 32 12
01048 001 NULL 6565 0
0115 001 NULL 6565 0
left join 库存表 on 商品.编号=库存表.商品编号
left join 仓库 on 仓库.编号=库存表.仓库编号
where 仓库.名称='上海库' 这样显示出来,只是两行001 CPU 个 NULL NULL
004 显卡 个 NULL NULL
--try:
select 商品.编号,商品.名称,--商品.单位,
库存上限,库存下限 from 商品
left join 库存表 on 商品.编号=库存表.商品编号
left join 仓库 on 仓库.编号=库存表.仓库编号
and 仓库.名称='上海库'
这样比较清晰一点。1、建立temptable
仓库编号 仓库名称 商品编号 商品名称 库存量 上限 下限2、insert into temptable
(仓库编号,仓库名称,商品编号,商品名称)3、update 库存量、上限、下限等其他各列4、按照条件查询temptable order by 商品编号
谢谢pt1314917,可是这样又有重复了:
select 商品.编号,商品.名称,--商品.单位,
库存上限,库存下限 from 商品
left join 库存表 on 商品.编号=库存表.商品编号
left join 仓库 on 仓库.编号=库存表.仓库编号
and 仓库.名称='上海库' 001 CPU 0 0
001 CPU NULL NULL
0021 光驱 32 12
003 内存 342 3
004 显卡 0 0
004 显卡 NULL NULL
005 VISUAL STUDIO 0 0
006 主板 4343 0
007 Windows XP 545 0
0076 Office 2007 6565 0
008 Linux 76786 0
009 硬盘 8776 0
010 机箱 6565 0
01048 鼠标 6565 0
0115 键盘 6565 0
select a.编号,a.名称,商品.单位,
库存上限,库存下限 from 商品 a
left join
(select 商品编号,库存上限,库存下限 from 库存表,仓库 where 仓库.编号=库存表.仓库编号
and 仓库.名称='上海库')b
on a.编号=b.商品编号