VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
12
返回列表 发新帖
楼主: loverabbit

请各位帮我看一下哪里出错?消息 207,级别 16,状态 3,列名 'je' 无效

[复制链接]

2

主题

9

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
 楼主| 发表于 2020-1-3 10:24:01 | 显示全部楼层
改成
create view v_all
as

select wzlb=left(wzdm,2),
rkje=sum(je),
ckje=0,
fsrq=rksj,
kcje=0
from 物资材料入库
group by left(wzdm,2),rksj

单独执行上面一段代码,就没有问题了
回复

使用道具 举报

0

主题

93

帖子

46.00

积分

新手上路

Rank: 1

积分
46.00
发表于 2020-1-3 10:33:02 | 显示全部楼层
RKSJ        DATETIME        8        否        入库时间
DATETIME用了这列分组,sum还有意义???
如果列的为(2006-01-01 11:25:00 120)就没有意义了
回复

使用道具 举报

2

主题

9

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
 楼主| 发表于 2020-1-3 10:51:01 | 显示全部楼层
物资编码为AABBCCDDDD
第一句wzlb=left(wzdm,2)是取的最大类的物资AA,在wzdm里保存的是最细分类编码AABBCCDDDD。
如果用datetime分组,sum以后不是求的当天所有该大类物资的金额么?

如果group by 去掉rksj,执行后出错提示为
服务器: 消息 8120,级别 16,状态 1,行 1
列 '物资材料入库.rksj' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。

如果不group by rksj,是否用having呢?

回复

使用道具 举报

2

主题

9

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
 楼主| 发表于 2020-1-3 11:00:02 | 显示全部楼层
用max(rksj)试了,结果出来了
create view v_all
as

select wzlb=left(wzdm,2),
rkje=sum(je),
ckje=0,
fsrq=max(rksj),
kcje=0
from 物资材料入库
group by left(wzdm,2)

这段没有问题了,继续试下面一段,实在太感谢了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表