请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

[已处理] 求个视图

白菜贝贝 悬赏达人认证 活字格认证
金牌服务用户   /  发表于:2021-4-19 15:16  /   查看:1324  /  回复:7
10金币
一个项目表的视图,根据项目编号关联得到:项目编号、预计应收、开票金额合计(申请 发 票 的状态是已开票的才统计)、回款金额合计、支出金额合计
附工程文件

附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

select xm.编号 as 项目编号,xm.应收金额 as 预计应收,kp.开票金额合计,回款金额合计,支出金额合计 from 项目 xm left join (select fpson.项目_编号,sum(fpson.开具金额) as 开票金额合计,fpmain.状态 from 申请**_子表 fpson left join 申请** fpmain on fpmain.id=fpson.申请**_ID group by fpson.项目_编号,fpmain.状态) as kp on kp.项目_编号=xm.编号 and kp.状态="已开票" left join (select 项目_编号,sum(到账金额) ...

7 个回复

倒序浏览
最佳答案
最佳答案
真难想悬赏达人认证 活字格认证
高级会员   /  发表于:2021-4-19 15:16:13
来自 6#
真难想 发表于 2021-4-19 16:03
select xm.编号 as 项目编号,xm.应收金额 as 预计应收,kp.开票金额合计,回款金额合计,支出金额合计 from 项 ...

select xm.编号 as 项目编号,xm.应收金额 as 预计应收,kp.开票金额合计,回款金额合计,支出金额合计 from 项目 xm
left join (select fpson.项目_编号,sum(fpson.开具金额) as 开票金额合计,fpmain.状态 from 申请**_子表 fpson left join 申请** fpmain on fpmain.id=fpson.申请**_ID group by fpson.项目_编号,fpmain.状态) as kp
on kp.项目_编号=xm.编号 and kp.状态="已开票"
left join (select 项目_编号,sum(到账金额) as 回款金额合计 from 回款金额 group by 项目_编号) as hk
on hk.项目_编号=xm.编号
left join (select 项目_编号,sum(支出金额) as 支出金额合计 from 支出金额 group by 项目_编号) as zc
on zc.项目_编号=xm.编号


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Meng2499
金牌服务用户   /  发表于:2021-4-19 15:32:04
2#
初略看了一下,你的条件“状态已开票的才统计”,因为申请**表里没有与之相对应的编号而无法实现条件查询
回复 使用道具 举报
Meng2499
金牌服务用户   /  发表于:2021-4-19 15:47:47
3#
案例你可能打不开,我用的104版本的,具体情况跟你说一下
我在申请**给你加了个编号列

大概语句是这样
【SELECT a.编号,a.应收金额,b.合计开票金额,c.到账金额 FROM "项目" a join "申请**" b on a.编号=b.编号 join "回款金额" c on b.编号=c.项目_编号 where b.状态="已开票";】
还有支出金额自己看着写下去,参照我给你写的



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
白菜贝贝悬赏达人认证 活字格认证
金牌服务用户   /  发表于:2021-4-19 15:51:17
4#
Meng2499 发表于 2021-4-19 15:47
案例你可能打不开,我用的104版本的,具体情况跟你说一下
我在申请**给你加了个编号列

发 票 申请没有编号,因为申请发 票有可能是很多项目合并在一起申请的,所以有子表,不是单独某个项目申请,如果发 票 申请可以一一对应编号,我就会写视图了
回复 使用道具 举报
真难想悬赏达人认证 活字格认证
高级会员   /  发表于:2021-4-19 16:03:56
5#
select xm.编号 as 项目编号,xm.应收金额 as 预计应收,kp.开票金额合计,回款金额合计,支出金额合计 from 项目 xm
left join (select fpson.项目_编号,sum(fpson.开具金额) as 开票金额合计,fpmain.状态 from 申请**_子表 fpson left join 申请** fpmain on fpmain.id=fpson.申请**_ID group by fpson.项目_编号,fpmain.状态) as kp
on kp.项目_编号=xm.编号 and kp.状态="已开票"
left join (select 项目_编号,sum(到账金额) as 回款金额合计 from 回款金额 group by 项目_编号) as hk
on hk.项目_编号=xm.编号
left join (select 项目_编号,sum(支出金额) as 支出金额合计 from 支出金额 group by 项目_编号) as zc
on zc.项目_编号=xm.编号
回复 使用道具 举报
Meng2499
金牌服务用户   /  发表于:2021-4-19 16:11:08
7#
白菜贝贝 发表于 2021-4-19 15:51
发 票 申请没有编号,因为申请发 票有可能是很多项目合并在一起申请的,所以有子表,不是单独某个项目申 ...

你可以用视图2做中转
再用视图1

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Timothy.Xu讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-4-19 17:33:32
8#
谢谢支持!本帖子的问题解决,这里就结帖了,如果您有新的问题,也欢迎创建新的求助帖~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部