以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- sql中的SUM报错 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=171463) |
-- 作者:BG小白 -- 发布时间:2021/8/31 10:12:00 -- sql中的SUM报错 .NET Framework 版本:4.0.30319.42000 Foxtable 版本:2021.5.29.1 错误所在事件: 详细错误信息: 选择列表中的列 \'SPKCB.SPDM\' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。 cmd1.CommandText = "SEL ECT {SPKCB}.SPDM AS 商品代码, {GUIGE1}.GGMC AS 颜色, {GUIGE2}.GGMC AS 尺码, sum(SL) AS 数量, {SPTP}.pic_name AS 图片 from (({SPKCB} INNER JOIN {GUIGE1} ON {SPKCB}.GG1DM = {GUIGE1}.GGDM) INNER JOIN {GUIGE2} ON {SPKCB}.GG2DM = {GUIGE2}.GGDM) INNER JOIN {SPTP} ON {SPKCB}.SPDM = {SPTP}.SPDM where ckdm = 001 and {SPkcb}.sl > 20 ORDER BY {SPKCB}.SPDM DESC" 蓝老师,这个是要怎么修改啊 |
-- 作者:有点蓝 -- 发布时间:2021/8/31 10:16:00 -- 分组统计必须和 GROUP BY一起使用 sl是哪个表的,根据哪些列进行分组统计?
|
-- 作者:BG小白 -- 发布时间:2021/8/31 10:48:00 -- cmd1.CommandText = "S ELECT {SPKCB}.SPDM AS 商品代码, {GUIGE1}.GGMC AS 颜色, {GUIGE2}.GGMC AS 尺码, sum(SL) AS 数量, {SPTP}.pic_name AS 图片 from (({SPKCB} INNER JOIN {GUIGE1} ON {SPKCB}.GG1DM = {GUIGE1}.GGDM) INNER JOIN {GUIGE2} ON {SPKCB}.GG2DM = {GUIGE2}.GGDM) INNER JOIN {SPTP} ON {SPKCB}.SPDM = {SPTP}.SPDM where ckdm = 001 and {SPkcb}.sl > 200 GROUP BY {SPKCB}.SPDM, {GUIGE1}.GGMC, {GUIGE2}.GGMC,{SPTP}.pic_name ORDER BY {SPKCB}.SPDM DESC" 如何不把这个字段进行分组统计,我不写进去就会报错 .NET Framework 版本:4.0.30319.42000 Foxtable 版本:2021.5.29.1 错误所在事件: 详细错误信息: 选择列表中的列 \'SPTP.pic_name\' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。 |
-- 作者:有点蓝 -- 发布时间:2021/8/31 11:11:00 -- 先做分组统计,再和其它表关联,获取不需要参与统计的列 |
-- 作者:BG小白 -- 发布时间:2021/8/31 16:55:00 -- 这里不太明白,对应的开发指南有吗? |
-- 作者:有点蓝 -- 发布时间:2021/8/31 17:04:00 -- 这个百度吧。简单比如 select a.第一列,a.第二列,b.合计 from 表A as a inner join (select 第一列,sum(金额) as 合计 from 表B group by 第一列) as b on a.第一列 = b.第一列
|