首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

多表查询解决方案

2012-01-12 
多表查询有20个表,数据类型,结构完全相同a01产品名称,数量b01产品名称,数量c01产品名称,数量d01产品名称,

多表查询
有20个表,数据类型,结构完全相同
a01     产品名称,数量
b01   产品名称,数量
c01   产品名称,数量
d01   产品名称,数量
.
.
.

想要用语句实现每个表的累计数量
a01           b01           c01         d01
1000         500           3000         444




[解决办法]
declare @tab varchar(20)
set @tab= '表名 '
print( 'select sum(case when col1= ' 'a01 ' ' then col3 else 0 end)a01,
sum(case when col1= ' 'a01 ' ' then col3 else 0 end)b01,
sum(case when col1= ' 'a01 ' ' then col3 else 0 end)c01,
sum(case when col1= ' 'a01 ' ' then col3 else 0 end)d01
from '+@tab+ ' group by col1 ')
[解决办法]
select
(select Sum(数量) as a01 from a01)a
Cross join
(select Sum(数量) as b01 from b01)b
Cross join
(select Sum(数量) as c01 from c01)c
Cross join
(select Sum(数量) as d01 from d01)d

热点排行