首页 新闻 会员 周边 捐助

一个由数据库三张表动态生成一张表的

0
悬赏园豆:200 [已解决问题] 解决于 2012-02-13 20:41

 

效果科;要实现的样子

效果图

产品张数表:

产品数量表设计

 

大小编号表:

大小表

 

两张表的关联表:图中的价格都在这张表里

1

 

我要能生成一张行,列都是可以动态了!比如我增加产品数量时,表格列自动增长一个;增加大小编号时;行自动增加一行;用代码或者用SQL语句!只要能实现出这张表就行?高手来啊

踏浪帅的主页 踏浪帅 | 初学一级 | 园豆:0
提问于:2011-01-04 21:12
< >
分享
最佳答案
0
 
DECLARE @SQL AS VARCHAR(MAX),@T AS VARCHAR(200),@Cols AS VARCHAR(1000)
SET @SQL = 'SELECT t1.PaintSize'
SET @Cols = ''
SET @T = ''
SELECT @SQL = @SQL + ',[' + CAST(PhotoNum AS VARCHAR(10)) + 'Figures]', @Cols = @Cols + ',[' + CAST(Id as NVARCHAR(10)) + '] AS [' + CAST(PhotoNum as NVARCHAR(10)) + 'Figures]',@T = @T + '[' + CAST(ID AS VARCHAR(10)) + '],' FROM T_PhotoNum
SET @T = LEFT(@T,LEN(@T) - 1)
SET @SQL = @SQL + ' FROM (SELECT SizeId' + @Cols + ' FROM (SELECT SizeId,PhotoId,PhotoPrice FROM T_Photo_Size) AS P PIVOT (MAX(PhotoPrice) FOR PhotoId IN (' + @T + ')) AS PVT) t2 LEFT JOIN T_PaintSize t1 ON t1.Id = t2.SizeId'
EXEC(@SQL)

 

答案是参照你的表结构写的,相关的需求可以了解一下PIVOT.

你贴的图片是防外链的

收获园豆:200
I,Robot | 大侠五级 |园豆:9783 | 2011-01-05 00:01
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册