以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- SQL的select语句修改 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=73888) |
-- 作者:阿福 -- 发布时间:2015/8/28 14:53:00 -- SQL的select语句修改 代码又出错了,麻烦老师改一下! cmd.CommandText = "Select YEAR(年) As 年, sum(收入) as 收入, sum(支出) as 支出 f rom " & _ "(Select 销售_日期 as 年, 销售_金额 as 收入, 0 as 支出 f rom {母猪基本信息} where [sys_user]=\'" & user.Name & "\' u nion all " & _ "Select 销售_日期 as 年, 销售_金额 as 收入, 0 f rom {公猪信息} where [sys_user]=\'" & user.Name & "\' u nion all " & _ "Select 销售_日期 as 年, 销售_金额 as 收入, 0 f rom {肉猪信息} where [sys_user]=\'" & user.Name & "\' u nion all " & _ "Select 日期 as 年, 金额 as 收入, 0 f rom {补贴项目} where [sys_user]=\'" & user.Name & "\' u nion all " & _ "Select 日期 as 年, 金额 as 收入, 0 f rom {其他收入} where [sys_user]=\'" & user.Name & "\' u nion all " & _ "Select 购买_日期 as 年, 0, 购买_金额 as 支出 f rom {母猪基本信息} where [sys_user]=\'" & user.Name & "\' u nion all " & _ "Select 购买_日期 as 年, 0, 购买_金额 as 支出 f rom {公猪信息} where [sys_user]=\'" & user.Name & "\' u nion all " & _ "Select 购买_日期 as 年, 0, 购买_金额 as 支出 f rom {肉猪信息} where [sys_user]=\'" & user.Name & "\' u nion all " & _ "Select 日期 as 年, 0, 饲料量_总金额 as 支出 f rom {饲料采购} where [sys_user]=\'" & user.Name & "\' u nion all " & _ "Select 日期 as 年, 0, 总金额 as 支出 f rom {疫苗采购} where [sys_user]=\'" & user.Name & "\' u nion all " & _ "Select 日期 as 年, 0, 总金额 as 支出 f rom {药品采购} where [sys_user]=\'" & user.Name & "\' u nion all " & _ "Select 日期 as 年, 0, 总金额 as 支出 f rom {易耗品采购} where [sys_user]=\'" & user.Name & "\' u nion all " & _ "Select 日期 as 年, 0, 投保金额 as 支出 f rom {保险费} where [sys_user]=\'" & user.Name & "\' u nion all " & _ "Select 日期 as 年, 0, 金额 as 支出 f rom {水电费} where [sys_user]=\'" & user.Name & "\' u nion all " & _ "Select 日期 as 年, 0, 金额 as 支出 f rom {工资费用} where [sys_user]=\'" & user.Name & "\' u nion all " & _ "Select 日期 as 年, 0, 支出金额 as 支出 f rom {工程折旧费用} where [sys_user]=\'" & user.Name & "\' u nion all " & _ "Select 日期 as 年, 0, 金额 as 支出 f rom {其他支出} where [sys_user]=\'" & user.Name & "\') " & _ "As a group by year(年) order by year(年) "
|
-- 作者:大红袍 -- 发布时间:2015/8/28 15:02:00 -- 代码不要这样写啊,比如
Select YEAR(年) As 年, sum(收入) as 收入, sum(支出) as 支出 f rom
(Select sys_user, 日期 as 年, 金额 as 收入, 0 as 支出 f rom {其他收入} U nion all
Select sys_user, 购买_日期, 0, 购买_金额 f rom {母猪基本信息})
as a where sys_user = \'张三\' group by year(年) order by year(年)
|
-- 作者:有点蓝 -- 发布时间:2015/8/28 15:03:00 -- group by year(年) order by year(年) 改成group by 年 order by 年 试一下
|
-- 作者:Hyphen -- 发布时间:2015/8/28 15:24:00 -- 像楼主这样动不动就union all,数据库表示鸭梨山大。如果是sql server等这种外部源,建议先把这些表建个查询视图来用。 |
-- 作者:阿福 -- 发布时间:2015/8/28 15:25:00 -- 还是不知哪里出错了 cmd.CommandText = "Select YEAR(年), sum(收入) as 收入, sum(支出) as 支出 f rom " & _ "(Select sys_user, 销售_日期 as 年, 销售_金额 as 收入, 0 as 支出 f rom {母猪基本信息} u nion all " & _ "Select sys_user, 销售_日期, 销售_金额, 0 f rom {公猪信息} u nion all " & _ "Select sys_user, 销售_日期, 销售_金额, 0 f rom {肉猪信息} u nion all " & _ "Select sys_user, 日期, 金额, 0 f rom {补贴项目} u nion all " & _ "Select sys_user, 日期, 金额, 0 f rom {其他收入} u nion all " & _ "Select sys_user, 购买_日期, 0, 购买_金额 f rom {母猪基本信息} u nion all " & _ "Select sys_user, 购买_日期, 0, 购买_金额 f rom {公猪信息} u nion all " & _ "Select sys_user, 购买_日期, 0, 购买_金额 f rom {肉猪信息} u nion all " & _ "Select sys_user, 日期, 0, 饲料量_总金额 f rom {饲料采购} u nion all " & _ "Select sys_user, 日期, 0, 总金额 f rom {疫苗采购} u nion all " & _ "Select sys_user, 日期, 0, 总金额 f rom {药品采购} u nion all " & _ "Select sys_user, 日期, 0, 总金额 f rom {易耗品采购} u nion all " & _ "Select sys_user, 日期, 0, 投保金额 f rom {保险费} u nion all " & _ "Select sys_user, 日期, 0, 金额 f rom {水电费} u nion all " & _ "Select sys_user, 日期, 0, 金额 f rom {工资费用} u nion all " & _ "Select sys_user, 日期, 0, 支出金额 f rom {工程折旧费用} u nion all " & _ "Select sys_user, 日期, 0, 金额 f rom {其他支出} ) " & _ "As a where [sys_user] =\'" & user.Name & "\' group by year(年) order by year(年) " |
-- 作者:大红袍 -- 发布时间:2015/8/28 15:34:00 -- "Select YEAR(年), sum(收入) as 收入, sum(支出) as 支出 f rom " _ & "(Select sys_user, 销售_日期 as 年, 销售_金额 as 收入, 0 as 支出 f rom {母猪基本信息} u nion all " _ & "Select sys_user, 销售_日期, 销售_金额, 0 f rom {公猪信息} u nion all " _ & "Select sys_user, 销售_日期, 销售_金额, 0 f rom {肉猪信息} u nion all " _ & "Select sys_user, 日期, 金额, 0 f rom {补贴项目} u nion all " _ & "Select sys_user, 日期, 金额, 0 f rom {其他收入} u nion all " _ & "Select sys_user, 购买_日期, 0, 购买_金额 f rom {母猪基本信息} u nion all " _ & "Select sys_user, 购买_日期, 0, 购买_金额 f rom {公猪信息} u nion all " _ & "Select sys_user, 购买_日期, 0, 购买_金额 f rom {肉猪信息} u nion all " _ & "Select sys_user, 日期, 0, 饲料量_总金额 f rom {饲料采购} u nion all " _ & "Select sys_user, 日期, 0, 总金额 f rom {疫苗采购} u nion all " _ & "Select sys_user, 日期, 0, 总金额 f rom {药品采购} u nion all " _ & "Select sys_user, 日期, 0, 总金额 f rom {易耗品采购} u nion all " _ & "Select sys_user, 日期, 0, 投保金额 f rom {保险费} u nion all " _ & "Select sys_user, 日期, 0, 金额 f rom {水电费} u nion all " _ & "Select sys_user, 日期, 0, 金额 f rom {工资费用} u nion all " _ & "Select sys_user, 日期, 0, 支出金额 f rom {工程折旧费用} u nion all " _ & "Select sys_user, 日期, 0, 金额 f rom {其他支出} ) " _ & "As a where [sys_user] =\'" & user.Name & "\' group by year(年) order by year(年) " |
-- 作者:阿福 -- 发布时间:2015/8/28 15:44:00 -- 大红袍老师,为什么 “ & ” 要放在行首才起作用,不是都放在行尾? |
-- 作者:大红袍 -- 发布时间:2015/8/28 15:58:00 --
[此贴子已经被作者于2015/8/28 15:58:15编辑过]
|
-- 作者:大红袍 -- 发布时间:2015/8/28 16:01:00 -- 也行,但不能有空行 "Select YEAR(年), sum(收入) as 收入, sum(支出) as 支出 f rom " & _ "(Select sys_user, 销售_日期 as 年, 销售_金额 as 收入, 0 as 支出 f rom {母猪基本信息} u nion all " & _ "Select sys_user, 销售_日期, 销售_金额, 0 f rom {公猪信息} u nion all " & _ "Select sys_user, 销售_日期, 销售_金额, 0 f rom {肉猪信息} u nion all " & _ "Select sys_user, 日期, 金额, 0 f rom {补贴项目} u nion all " & _ "Select sys_user, 日期, 金额, 0 f rom {其他收入} u nion all " & _ "Select sys_user, 购买_日期, 0, 购买_金额 f rom {母猪基本信息} u nion all " & _ "Select sys_user, 购买_日期, 0, 购买_金额 f rom {公猪信息} u nion all " & _ "Select sys_user, 购买_日期, 0, 购买_金额 f rom {肉猪信息} u nion all " & _ "Select sys_user, 日期, 0, 饲料量_总金额 f rom {饲料采购} u nion all " & _ "Select sys_user, 日期, 0, 总金额 f rom {疫苗采购} u nion all " & _ "Select sys_user, 日期, 0, 总金额 f rom {药品采购} u nion all " & _ "Select sys_user, 日期, 0, 总金额 f rom {易耗品采购} u nion all " & _ "Select sys_user, 日期, 0, 投保金额 f rom {保险费} u nion all " & _ "Select sys_user, 日期, 0, 金额 f rom {水电费} u nion all " & _ "Select sys_user, 日期, 0, 金额 f rom {工资费用} u nion all " & _ "Select sys_user, 日期, 0, 支出金额 f rom {工程折旧费用} u nion all " & _ "Select sys_user, 日期, 0, 金额 f rom {其他支出} ) " & _ "As a where [sys_user] =\'" & user.Name & "\' group by year(年) order by year(年) "
|
-- 作者:阿福 -- 发布时间:2015/8/28 16:07:00 -- 原来是这样,谢谢大红袍老师! |