请问这是什么原因?(100分)

  • 主题发起人 主题发起人 Wanderingtalk
  • 开始时间 开始时间
W

Wanderingtalk

Unregistered / Unconfirmed
GUEST, unregistred user!
我在做一个数据库查询程序,使用代码如下:
with query1 do
begin
close;
SQl.Clear;
SQL.add('select xm,sum(gz),sum(jj) ');
sql.add('from(select xm,sum(gz) gz,sum(jj) jj from ck group by xm union all select xm,max(gz),Max(jj) from rk group by xm ) temp group by xm)
end;

提示第二个select非法使用,到底是什么原因,其他的sql语句可以通过,只有在使用
union all 时提示错误。
 
因为union all前后的两个select选出的字段名不同,所以报错,
可以将第二个(union all后的那个)select语句改为
select xm,max(gz) gz,Max(jj) jj from rk group by xm;
再试一下。
 
接受答案了.
 
后退
顶部