有4张表:(tsydmx,tszdmx,rkdmx,tsxx)
1、图书预订明细表tsydmx(tsbh【图书编号】,ydsl【预订数量】)
2、图书征订明细表tszdmx(tsbh【图书编号】,zds【征订数量】)
3、入库单明细表rkdmx(rkdjh【入库单据号】,tsbh【图书编号】,sl【数量】)
4、图书信息表tsxx(tsbh【图书编号】,ISBN【ISBN】,bc【版次】,yc【印次】,tsmc【图书名称】)
现想查询以下内容:
图书编号 ISBN 版次 印次 图书名称 预定数量 征订数量 入库数量 出库数量
1、图书预订明细表tsydmx(tsbh【图书编号】,ydsl【预订数量】)
2、图书征订明细表tszdmx(tsbh【图书编号】,zds【征订数量】)
3、入库单明细表rkdmx(rkdjh【入库单据号】,tsbh【图书编号】,sl【数量】)
4、图书信息表tsxx(tsbh【图书编号】,ISBN【ISBN】,bc【版次】,yc【印次】,tsmc【图书名称】)
现想查询以下内容:
图书编号 ISBN 版次 印次 图书名称 预定数量 征订数量 入库数量 出库数量
解决方案 »
- Oracle如何连接到远程服务器
- 求写sql语句,有测试数据
- sql语句请教 ,含有变量的,见例子(正文)
- 我的库中有无效对象(函数,过程,视图),编译后,可以通过。但是,隔几天后,又出现了上次的无效对象,不知道是什么原因造成的。
- 新手,想问问有什么好的ORACLE客户端软件
- 请教一个关于ORACLE HTTP的问题
- 我的Oracle的ManagementServer在服务中怎么就是不能启动?
- 急!高手救命!如何远程备份数据?
- 请教兄弟们一个大问题呀!~
- 这个语句效率太低,各位大神有更好的建议吗?取得一个日期区间内最大日期的值和最小日期的值,用于相减
- 问3个oracle题 谢谢,一题20分,谢谢
- oracle 多表查询
---出库表没看见啊。。
select
d.tsbh,d.ISBN,d.bc,d.yc,d.tsms,sum(ydsl),sum(zds),sum(sl)
from tsydmx a,tszdmx b,rkdmx c ,tsxx d
where a.tsbh=b.tsbh and b.tsbh=c.tshb and d.tshb=c.tshb
group by d.tsbh,d.ISBN,d.bc,d.yc,d.tsms
select d.tsbh 图书编号, d.ISBN , d.bc 版次 ,d.yc 印次, d.tsmc 图书名称 ,
a.ydsl 预定数量, b.zds 征订数量, c.s1 入库数量
from tsydmx a, tszdmx b, rkdmx c, tsxx d
where d.tsbh = a.tsbh(+)
and d.tsbh = b.tsbh(+)
and d.tsbh = c.tsbh(+);
sum(a.ydsl) 预定数量, sum(b.zds) 征订数量, sum(c.s1) 入库数量
from tsydmx a, tszdmx b, rkdmx c, tsxx d
where d.tsbh = a.tsbh(+)
and d.tsbh = b.tsbh(+)
and d.tsbh = c.tsbh(+)
group by d.tsbh,d.ISBN,d.bc,d.yc,d.tsms;
---你又没说具体。。那就是左连接了
select
d.tsbh,d.ISBN,d.bc,d.yc,d.tsms,sum(ydsl),sum(zds),sum(c.sl),sum(e.sl)
from tsydmx a,tszdmx b,rkdmx c ,tsxx d ,ckdmx e
where
d.tsbh=e.tsbh(+)
and d.tsbh=a.tshb(+)
and d.tshb=b.tshb(+)
and d.tshb=c.tshb(+)
group by d.tsbh,d.ISBN,d.bc,d.yc,d.tsms
整个流程是这样的:先预订图书,再征订图书,再是图书入库,图书出库
wangzairong ,你再执行下试试!
整个流程是这样的:先预订图书,再征订图书,再是图书入库,图书出库