我整理了一个有关我的问题的示例场景,希望有人能指出我正确的方向。
我有两张 table
产品
产品元
我需要以下结果集
最佳答案
我意识到这已经有两年了,但让我感到烦恼的是,接受的答案要求使用动态 SQL,而得票最多的答案将不起作用:
Select P.ProductId, P.Name
, Min( Case When PM.MetaKey = 'A' Then PM.MetaValue End ) As A
, Min( Case When PM.MetaKey = 'B' Then PM.MetaValue End ) As B
, Min( Case When PM.MetaKey = 'C' Then PM.MetaValue End ) As C
From Products As P
Join ProductMeta As PM
On PM.ProductId = P.ProductId
Group By P.ProductId, P.Name
您必须使用分组依据,否则您将得到交错的结果。如果使用 Group By,则必须将不在 Group By 子句中的每一列包装在聚合函数(或子查询)中。
关于sql - 使用 SQL Server 2000 进行数据透视,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/312861/