【发布时间】:2011-06-01 17:19:47
【问题描述】:
我需要使用所有 varchar 数据类型和一种图像数据类型的列在 SQL Server 中执行交叉表/数据透视查询。我创建了一个以这种格式连接一系列表的存储过程。 “B”是唯一可以链接到图像数据的元素。如果“B”的 DATA 字段为空白,则该行也有空白 IMAGEDATA。
OBJID CONTAINERID ELEMENT DATA IMAGEDATA
1 11 A a123 NULL
1 12 A aa123 NULL
1 11 B b123 0XFFD8FFE
1 12 B bb123 0XFFD8FFE
1 11 C c123 NULL
然后我使用数据透视查询。理想情况下,表格应如下所示:
OBJID CONTAINERID A B C IMAGEDATA
1 11 a123 b123 c123 0XFFD8FFE
1 12 aa123 bb123 0XFFD8FFE
问题是图像数据字段无法旋转、分组、转换等...我尝试将图像从二进制转换为 varchar,但它给了我乱码。
限制:
- 1.“元素”是动态的,因此数据透视表的列数总是在变化。 (即它*可以*从 A 到 Z。)
- 2. 字段要在SSRS报告中使用,因此我需要维护图像数据类型
- 3.我不能使用任何其他开发语言(.NET等)
还有其他可能的方法吗?
【问题讨论】:
标签: sql sql-server image pivot crosstab