好久没用SQL了,一个简单的问题,大家来看看

panxiaosen 2007-02-01 08:01:06
select 公司名=测试',
店收入合计=isnull((select sum(销售额+其他收入+租金收入+区域提成) from 店收支月报表),0),
店支出合计=isnull((select sum(工资+伙食支出+水电费) from 店收支月报表),0),
店结余额=店收入合计-店支出合计


为什么会提示

服务器: 消息 207,级别 16,状态 3,行 1
列名 '店收入合计' 无效。
服务器: 消息 207,级别 16,状态 1,行 1
列名 '店支出合计' 无效。
...全文
234 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
panxiaosen 2007-02-01
  • 打赏
  • 举报
回复
可以了,谢谢邹老大和天道酬勤以及各位。。。
marco08 2007-02-01
  • 打赏
  • 举报
回复
--try

select tmp.*,
店结余额=店收入合计-店支出合计,
进货结余=进货收款-进货支出
from
(
select 公司名='hp0308',
店收入合计=isnull((select sum(销售额+其他收入+租金收入+区域提成) from 店收支月报表),0),
店支出合计=isnull((select sum(工资+伙食支出) from 店收支月报表),0),
进货收款=isnull((select sum(金额) from 收付款 where 类型='收款单'),0),
进货支出=isnull((select sum(实货款) from 进货收支报表),0)
)tmp
marco08 2007-02-01
  • 打赏
  • 举报
回复
--try

select tmp.*,
店结余额=tmp.店收入合计-tmp.店支出合计
from
(
select 公司名=测试,
店收入合计=isnull((select sum(销售额+其他收入+租金收入+区域提成) from 店收支月报表),0),
店支出合计=isnull((select sum(工资+伙食支出+水电费) from 店收支月报表),0)
from tbName
)tmp
zjcxc 元老 2007-02-01
  • 打赏
  • 举报
回复
select 中, 只能引用存在的列, 不能引用当前 select 列出的别名或者表达式列.

可以考虑直接引用原始列, 或者用子查询
zjcxc 元老 2007-02-01
  • 打赏
  • 举报
回复
select *,
店结余额=店收入合计-店支出合计
from(
select 公司名=测试',
店收入合计=isnull((select sum(销售额+其他收入+租金收入+区域提成) from 店收支月报表),0),
店支出合计=isnull((select sum(工资+伙食支出+水电费) from 店收支月报表),0)
)a
panxiaosen 2007-02-01
  • 打赏
  • 举报
回复
不好意思,贴出来的时候为了简化一下,搞错了,完整的是下面这样的

select 公司名='hp0308',
店收入合计=isnull((select sum(销售额+其他收入+租金收入+区域提成) from 店收支月报表),0),
店支出合计=isnull((select sum(工资+伙食支出) from 店收支月报表),0),
店结余额=店收入合计-店支出合计,
进货收款=isnull((select sum(金额) from 收付款 where 类型='收款单'),0),
进货支出=isnull((select sum(实货款) from 进货收支报表),0),
进货结余=进货收款-进货支出

错误提示如下

服务器: 消息 207,级别 16,状态 3,行 1
列名 '店收入合计' 无效。
服务器: 消息 207,级别 16,状态 1,行 1
列名 '店支出合计' 无效。
服务器: 消息 207,级别 16,状态 1,行 1
列名 '进货收款' 无效。
服务器: 消息 207,级别 16,状态 1,行 1
列名 '进货支出' 无效。
stou 2007-02-01
  • 打赏
  • 举报
回复
select 公司名=测试,--这里多了个‘号
店收入合计=isnull((select sum(销售额+其他收入+租金收入+区域提成) from 店收支月报表),0),
店支出合计=isnull((select sum(工资+伙食支出+水电费) from 店收支月报表),0),
店结余额=店收入合计-店支出合计
Yang_ 2007-02-01
  • 打赏
  • 举报
回复

select 公司名=测试',
店收入合计=sum(销售额+其他收入+租金收入+区域提成),
店支出合计=sum(工资+伙食支出+水电费),
店结余额=sum(销售额+其他收入+租金收入+区域提成)-sum(工资+伙食支出+水电费)
from 店收支月报表

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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