查询中有两个sum值要相加,该怎么处理
查询中有两个sum值要相加,该怎么办
这是我写的查询语句
string sql = "select DT_Area.ID, DT_Area.Aname, SUM(SUM(DT_Park.MNP)+SUM(DT_Park.ANP)) SMNP ,
SUM(DT_Park.CNP) SCNP from DT_Area , DT_Park ";
sql += "where DT_Area.ID = DT_Park.AID";
sql += "group by DT_Area.ID , DT_Area.Aname";
连接数据库时显示 by 附近出错
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
1,将SUM(SUM(DT_Park.MNP)+SUM(DT_Park.ANP)) SMNP 改为SUM(DT_Park.MNP)+SUM(DT_Park.ANP)as SMNP
2,最重要的是将sql += "group by DT_Area.ID , DT_Area.Aname";改为sql += " group by DT_Area.ID , DT_Area.Aname"; 不然拼接的sql是有误的。
------解决方案--------------------
查看7楼的
------解决方案--------------------
两个表有相同列时要加上表明为前缀,另外group bt中不能用别名,除非有预先处理
这是我写的查询语句
string sql = "select DT_Area.ID, DT_Area.Aname, SUM(SUM(DT_Park.MNP)+SUM(DT_Park.ANP)) SMNP ,
SUM(DT_Park.CNP) SCNP from DT_Area , DT_Park ";
sql += "where DT_Area.ID = DT_Park.AID";
sql += "group by DT_Area.ID , DT_Area.Aname";
连接数据库时显示 by 附近出错
------解决方案--------------------
SUM(SUM(DT_Park.MNP)+SUM(DT_Park.ANP)) SMNP
改為:
SUM(DT_Park.MNP+DT_Park.ANP) SMNP
------解决方案--------------------
select DT_Area.ID, DT_Area.Aname, SUM(DT_Park.MNP+DT_Park.ANP) as SMNP,
SUM(DT_Park.CNP) SCNP from DT_Area , DT_Park
where DT_Area.ID = DT_Park.AID
group by DT_Area.ID , DT_Area.Aname
------解决方案--------------------
// LZ 的语句没有问题,只是你少写了一个空格
// 在 group by 前加一个空格,你这样拼接出来语句,变成 AIDgroup by ,应该是AID group by
sql += "where DT_Area.ID = DT_Park.AID";
sql += "group by DT_Area.ID , DT_Area.Aname";
------解决方案--------------------
1,将SUM(SUM(DT_Park.MNP)+SUM(DT_Park.ANP)) SMNP 改为SUM(DT_Park.MNP)+SUM(DT_Park.ANP)as SMNP
2,最重要的是将sql += "group by DT_Area.ID , DT_Area.Aname";改为sql += " group by DT_Area.ID , DT_Area.Aname"; 不然拼接的sql是有误的。
------解决方案--------------------
查看7楼的
------解决方案--------------------
两个表有相同列时要加上表明为前缀,另外group bt中不能用别名,除非有预先处理