1
我有一个表1:交叉表/透视查询上nvarchar列
ID Property
1 Name
2 City
3 Designation
和表2:
ID RecordID Table1ID Value
1 1 1 David
2 1 2 Tokyo
3 2 1 Scott
4 2 3 Manager
表2图的Table1ID到表1的ID。现在,我希望展现表1属性列值的列标题,并因此在格式设置,如:
RecordID Name City Designation
1 David Tokyo NULL
2 Scott NULL Manager
什么是最好的/有效的方式在T-SQL 实现这一考虑的记录数在表1中(即结果集中的列)可以更改,因此应该动态处理。
虽然我尝试过基于PIVOT和CASE的查询,但都一直在努力与他们两人。 :(
任何帮助/指导,将不胜感激
感谢
更新:!
我已经能够创建动态查询,但一件事我还是没能要明白的是为什么MAX已经在CASE语句中使用请忽略我的noobness
^^太棒了!只有两个问题:1.你为什么使用聚合fn。 MAX是否适用于所有CASE? 2.如何在t1.Property中的条目数量可以更改时动态处理CASE语句?非常感谢您的帮助! – Dienekes 2010-08-25 04:38:03
+1 - 对于这样的问题,最好在我的脑海中插入PIVOT--我永远不会记住PIVOT的语法。 :) – 2010-08-25 04:56:24