Foxtable(狐表)用户栏目专家坐堂 → SQL语句的更改


  共有3540人关注过本帖树形打印复制链接

主题:SQL语句的更改

帅哥哟,离线,有人找我吗?
阿福
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:196 积分:1357 威望:0 精华:0 注册:2015/3/25 16:42:00
SQL语句的更改  发帖心情 Post By:2015/8/29 12:04:00 [显示全部帖子]

再次麻烦老师帮我修改一下!!!!

cmd.CommandText = "select sys_user, 年, 母猪存栏数, 肉猪存栏数_年末, 肉猪存栏数_年初, 肉猪销售数 f rom" & _
"(Select sys_user, year(日期) As 年, avg(母猪_总) As 母猪存栏数, 0 As 肉猪存栏数_年末, 0 As 肉猪存栏数_年初, 0 As 肉猪销售数 f rom (select * f rom {母猪存栏结构}) as b where month(日期)= 12 group by sys_user, year(日期) u nion all " & _
"Select sys_user, year(日期), 0, 合计, 0 f rom{肉猪存栏结构} where month(日期) = 12 u nion all " & _
"Select sys_user, year(日期), 0, 0, 合计 f rom{肉猪存栏结构} where month(日期) = 1 u nion all " & _
"Select sys_user, year(销售_日期), 0, 0, 0, count(销售_日期) f rom {肉猪信息} group by year(销售_日期), sys_user) " & _
"As a where [sys_user] = '" & user.Name & "' group by year(日期), sys_user  order by year(日期), sys_user "

 回到顶部
帅哥哟,离线,有人找我吗?
阿福
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:196 积分:1357 威望:0 精华:0 注册:2015/3/25 16:42:00
  发帖心情 Post By:2015/8/29 14:18:00 [显示全部帖子]

不行的,错误提示

.NET Framework 版本:2.0.50727.8000
Foxtable 版本:2014.11.11.1
错误所在事件:
详细错误信息:
使用 UNION、INTERSECT 或 EXCEPT 运算符合并的所有查询必须在其目标列表中有相同数目的表达式。


 回到顶部
帅哥哟,离线,有人找我吗?
阿福
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:196 积分:1357 威望:0 精华:0 注册:2015/3/25 16:42:00
  发帖心情 Post By:2015/8/29 14:30:00 [显示全部帖子]

cmd.CommandText = "select sys_user, 年, 母猪存栏数, 肉猪存栏数_年末, 肉猪存栏数_年初, 肉猪销售数 f rom" & _
"(Select sys_user, year(日期) As 年, avg(母猪_总) As 母猪存栏数, 0 As 肉猪存栏数_年末, 0 As 肉猪存栏数_年初, 0 As 肉猪销售数 f rom (select * f rom {母猪存栏结构}) as b where month(日期)= 12 group by sys_user, year(日期) u nion all " & _
"Select sys_user, 日期, 0, 合计, 0, 0 f rom{肉猪存栏结构} where month(日期) = 12 u nion all " & _
"Select sys_user, 日期, 0, 0, 合计, 0 f rom{肉猪存栏结构} where month(日期) = 1 u nion all " & _
"Select sys_user, year(销售_日期), 0, 0, 0, count(销售_日期) f rom {肉猪信息} group by year(销售_日期), sys_user) " & _
"As a where [sys_user] = '" & user.Name & "' group by year(日期), sys_user  order by year(日期), sys_user "

.NET Framework 版本:2.0.50727.8000
Foxtable 版本:2014.11.11.1
错误所在事件:
详细错误信息:
列名 '日期' 无效。
列名 '日期' 无效。


 回到顶部
帅哥哟,离线,有人找我吗?
阿福
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:196 积分:1357 威望:0 精华:0 注册:2015/3/25 16:42:00
  发帖心情 Post By:2015/8/29 15:34:00 [显示全部帖子]

cmd.CommandText = "Select sys_user, 年, 母猪存栏数, 肉猪存栏数_年末, 肉猪存栏数_年初, 肉猪销售数 f rom" & _
"(Select sys_user, year(日期) As 年, avg(母猪_总) As 母猪存栏数, 0 As 肉猪存栏数_年末, 0 As 肉猪存栏数_年初, 0 As 肉猪销售数 f rom (select * f rom {母猪存栏结构}) as b where month(日期)= 12 group by sys_user, year(日期) u nion all " & _
"Select sys_user, year(日期), 0, 合计, 0, 0 f rom{肉猪存栏结构} where month(日期) = 12   u nion all " & _
"Select sys_user, year(日期), 0, 0, 合计, 0 f rom{肉猪存栏结构} where month(日期) = 1   u nion all " & _
"Select sys_user, year(销售_日期), 0, 0, 0, count(销售_日期) f rom {肉猪信息} group by sys_user, year(销售_日期))" & _
"as a group by 年, sys_user, 母猪存栏数, 肉猪存栏数_年末, 肉猪存栏数_年初, 肉猪销售数"

上面代码后,结果成下表
  sys_user  年   母猪存栏数   肉猪存栏数年末   肉猪存栏数年初   肉猪销售数  
   开发者      0   0   0   0
    开发者   2015   0   0   0   35
    开发者   2015   0   0   1000   0
    开发者   2015   0   1300   0   0
    开发者   2015   26   0   0   0
    






但我想变成这样的效果:
  sys_user  年   母猪存栏数   肉猪存栏数年末   肉猪存栏数年初   肉猪销售数  
   开发者      0   0   0   0
    开发者   2015  26   1300   1000   35



 回到顶部
帅哥哟,离线,有人找我吗?
阿福
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:196 积分:1357 威望:0 精华:0 注册:2015/3/25 16:42:00
  发帖心情 Post By:2015/8/29 15:44:00 [显示全部帖子]

是的,需要同“年”和同“sys_user”成同一列

 回到顶部
帅哥哟,离线,有人找我吗?
阿福
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:196 积分:1357 威望:0 精华:0 注册:2015/3/25 16:42:00
  发帖心情 Post By:2015/8/29 15:50:00 [显示全部帖子]

我试过,错误提示

.NET Framework 版本:2.0.50727.8000
Foxtable 版本:2014.11.11.1
错误所在事件:
详细错误信息:
选择列表中的列 'a.母猪存栏数' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。


 回到顶部
帅哥哟,离线,有人找我吗?
阿福
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:196 积分:1357 威望:0 精华:0 注册:2015/3/25 16:42:00
  发帖心情 Post By:2015/8/29 17:12:00 [显示全部帖子]

终于可以了,谢谢有点蓝老师!

cmd.CommandText =  "Select sys_user, 年, sum(母猪存栏数) As 母猪存栏数, sum(肉猪存栏数_年末) As 肉猪存栏数_年末, sum(肉猪存栏数_年初) As 肉猪存栏数_年初, sum(肉猪销售数) As 肉猪销售数 f rom " & _
"(Select sys_user, year(日期) As 年, avg(母猪_总) As 母猪存栏数, 0 As 肉猪存栏数_年末, 0 As 肉猪存栏数_年初, 0 As 肉猪销售数 f rom {母猪存栏结构}  group by sys_user, year(日期)  u nion all " & _ 
"Select sys_user, year(日期), 0, 合计, 0, 0 f rom{肉猪存栏结构} where month(日期) = 12 u nion all " & _ 
"Select sys_user, year(日期), 0, 0, 合计, 0 f rom{肉猪存栏结构} where month(日期) = 1 u nion all " & _ 
"Select sys_user, year(销售_日期), 0, 0, 0, count(销售_日期) f rom {肉猪信息} group by sys_user, year(销售_日期)) " & _ 
"As a where sys_user='" & user.Name & "' group by 年, sys_user"

 回到顶部