当前位置:主页>仓库管理软件> 列表

新手请教这个视图该怎么写(ORACLE数据库)? 找金蝶软件销售合同

库存管理软件版1楼: A表:业务记录表
客户ID,业务ID,应收金额

B表:收款记录表:
客户ID,收款ID,收款金额


C表:客户资料表
客户ID(主键) 客户名称

我要的视图:

客户ID,应收金额合计,收款金额合计

新手,请指教,谢谢

2楼: select T.客户ID, Sum(T.应收金额), Sum(T.收款金额) from

(select 客户ID, 应收金额, 收款金额 from C
left join A on A.客户ID and C.客户ID
left join B on B.客户ID and C.客户ID) T

group by T.客户ID
order by T.客户ID 如金蝶软件销售合同

3楼: 楼上给的不对。

4楼: SELECT A.客户ID, SUM(B.应收金额) 应收金额合计, SUM(C.收款金额) 应收金额合计
FROM 客户资料表 A, 业务记录表 B, 收款记录表 C
WHERE TA.客户ID = TB.客户ID(+)
AND TA.客户ID = TC.客户ID(+)
GROUP BY A.客户ID

5楼: SELECT TA.客户ID, TB.应收金额合计, TC.应收金额合计
FROM 客户资料表 TA,
(SELECT 客户ID, SUM(应收金额) 应收金额合计 FROM 业务记录表 B GROUP BY 客户ID) TB,
(SELECT 客户ID, SUM(收款金额) 应收金额合计 FROM 收款记录表 C GROUP BY 客户ID) TC
WHERE TA.客户ID = TB.客户ID(+)
AND TA.客户ID = TC.客户ID(+)

6楼: 我下面的语句达到目的了,但是效率不高,谁能帮忙优化一下?
create or replace view heji as
select c.客户ID,c.应收合计,d.实收合计 from
(select a.客户ID,b.应收合计 from
客户资料表 a,(select 客户ID,sum(实收) as 应收合计 from 业务记录 group by 客户ID) b
where a.客户ID=b.客户ID(+)) c,(select 客户ID,sum(收款金额) as 实收合计 from 收款记录 group by 客户ID) d
where c.客户ID=d.客户ID(+)

库存管理软件版7楼: 和xianguo实质上一样,但是我的分两步走

8楼: SELECT 客户ID,
SUM(DECODE(Flag, ''应收'', 金额, 0)) 应收金额合计,
SUM(DECODE(Flag, ''应收'', 0, 金额)) 收款金额合计
FROM (SELECT ''应收'' Flag, 客户ID, 应收金额 金额 业务记录表 A
UNION
SELECT ''实收'' Flag, 客户ID, 应收金额 收款记录表 B
) T
GROUP BY T.客户ID