工作上SQL问题

tang2003 2003-04-02 12:33:03
三张表
在库
入库
出库
都有
发生年月(YYYY/MM),品名,数量,金额,所属部门

要求出一张表记录
一段时间内(e.2002/10-2003/04)
出库入库产品按部门分类的数量,金额合计;和最后一个月该产品的在库数量,金额。

问题是最后一个月该产品的在库数据可能没有,即认为是库存0,但用where 在库.month = '2003/04' 会导致无符合条件记录。

及三张表中某产品都有可能无符合条件的记录,但只要有一张表有就要打印,品名一定在在库表里有,但不一定是给定时间内的。

现在不得不用一段SQL得到所求的字段,请教各位
...全文
27 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
用外连接
Lastdrop 2003-04-02
  • 打赏
  • 举报
回复
那你只有在from后再加一个产品表d了,然后d.品名=c.品名(+)
tang2003 2003-04-02
  • 打赏
  • 举报
回复
up
tang2003 2003-04-02
  • 打赏
  • 举报
回复
a.品名 = c.品名(+)
是不是意味以a为标准,但a表中也并不是每个品名都有?

Lastdrop 2003-04-02
  • 打赏
  • 举报
回复
使用外连接,将对在库表的查询作为子查询

select *,NVL(c.pqty,0) from
出库表 a, 入库表 b, ( select * from 在库表 where ....) c
where a.品名 = c.品名(+)
tang2003 2003-04-02
  • 打赏
  • 举报
回复
表达不清。因为在干活的时候都是说入库表,出库表,在库表,

一张表就是用一个select 出所要的字段,会自动生成表单的。

三张表之间关系是品名和部门
beckhambobo 2003-04-02
  • 打赏
  • 举报
回复
提出问题前最好搞清问题意思

要求出一张表记录
一段时间内(e.2002/10-2003/04)
出库入库产品按部门分类的数量,金额合计;和最后一个月该产品的在库数量,金额。

什么一张表?还有三张表之间关系?
tang2003 2003-04-02
  • 打赏
  • 举报
回复
外连接是不是(+)?

在库.month(+) = '2003/04' 对不对?

好像还是没有数据出来,头大。

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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