首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

交叉表有关问题

2012-01-10 
交叉表问题类似于:表1:名称重量价格a11b11表2:名称配件数量aA1aB2bA1bB2要用表格控件显示和打印出如下效果

交叉表问题
类似于:
表1:
名称         重量           价格
a                 1               1
b                 1                 1

表2:

名称         配件             数量
a               A                   1
a               B                     2
b               A                   1
b               B                     2

要用表格控件显示和打印出如下效果:
                                                    配件
名称       重量         价格             A               B  
a               1                 1             1                 2
b               1                 1               1               2


[解决办法]
declare @sql varchar(8000)

set @sql = 'select a.名称,a.重量,a.价格, '



select @sql = @sql + 'sum(case b.配件 when ' ' '+配件+ ' ' '

then 数量 else 0 end) as ' ' '+配件+ ' ' ', '

from (select distinct 配件 from 表2) as a



select @sql = left(@sql,len(@sql)-1) + ' from 表1 a,表2 b where a.名称=b.名称 group by 名称,重量,价格 '

exec(@sql)

go

热点排行