yckn_value, yckn_tjsj, yckn_sf, yckn_dw 都是yckn_sum表中的字段运行
select sum(yckn_value)str1 from yckn_sum where yckn_tjsj = '2012' and yckn_sf = 1 and yckn_dw = 1
显示结果为
str1
1 3运行
select sum(yckn_value)str2 from yckn_sum where yckn_tjsj = '2012' and yckn_sf = 2 and yckn_dw = 1
显示结果为
str2
1 1运行
select sum(yckn_value)str1 from yckn_sum where yckn_tjsj = '2012' and yckn_sf = 1 and yckn_dw = 1 union
select sum(yckn_value)str2 from yckn_sum where yckn_tjsj = '2012' and yckn_sf = 2 and yckn_dw = 1显示的结果为
str1
1 1
2 3运行
select sum(yckn_value)str1 from yckn_sum where yckn_tjsj = '2012' and yckn_sf = 1 and yckn_dw = 1 union all
select sum(yckn_value)str2 from yckn_sum where yckn_tjsj = '2012' and yckn_sf = 2 and yckn_dw = 1显示的结果为
str1
1 3
2 1想让str1和str2都显示出来,应该怎么写?
select sum(yckn_value)str1 from yckn_sum where yckn_tjsj = '2012' and yckn_sf = 1 and yckn_dw = 1
显示结果为
str1
1 3运行
select sum(yckn_value)str2 from yckn_sum where yckn_tjsj = '2012' and yckn_sf = 2 and yckn_dw = 1
显示结果为
str2
1 1运行
select sum(yckn_value)str1 from yckn_sum where yckn_tjsj = '2012' and yckn_sf = 1 and yckn_dw = 1 union
select sum(yckn_value)str2 from yckn_sum where yckn_tjsj = '2012' and yckn_sf = 2 and yckn_dw = 1显示的结果为
str1
1 1
2 3运行
select sum(yckn_value)str1 from yckn_sum where yckn_tjsj = '2012' and yckn_sf = 1 and yckn_dw = 1 union all
select sum(yckn_value)str2 from yckn_sum where yckn_tjsj = '2012' and yckn_sf = 2 and yckn_dw = 1显示的结果为
str1
1 3
2 1想让str1和str2都显示出来,应该怎么写?
select str1,str2 from
(
select sum(yckn_value)str1 from yckn_sum where yckn_tjsj = '2012' and yckn_sf = 1 and yckn_dw = 1 union all
select sum(yckn_value)str2 from yckn_sum where yckn_tjsj = '2012' and yckn_sf = 2 and yckn_dw = 1
)t
FROM (
select sum(yckn_value)str1,0 AS str2 from yckn_sum where yckn_tjsj = '2012' and yckn_sf = 1 and yckn_dw = 1
union all
select 0,sum(yckn_value)str2 from yckn_sum where yckn_tjsj = '2012' and yckn_sf = 2 and yckn_dw = 1
)a
运行后提示
服务器: 消息 207,级别 16,状态 3,行 1
列名 'str2' 无效。55555555
union all 两个select后面查询字段要相同。可以象2楼那样补全列再union all
http://topic.csdn.net/u/20080614/17/22e73f33-f071-46dc-b9bf-321204b1656f.html
如果同样是两个查询结果联合的话,还是用union all,把所有要查询到的列都写出来,注意union all连接的两个查询中出现的列必须对应