SQL-数据透视,其中一个表的行是另一个表的列标题
我希望以矩阵的形式创建一个表(如下所示),其中列标题是变量 @可作为行为 @作为WCT的WCT表 临时表,从@ProductionTable派生为PT 我要查找的输出如下所示。基本上,我希望ACT.AC作为专栏标题运行,WCT.WC运行,并计算11月6日ActFin的数量。颜色显示匹配关联。之后我将合并其余部分,不太关心null或0 到目前为止的查询(在FOR语句处失败)SQL-数据透视,其中一个表的行是另一个表的列标题,sql,tsql,Sql,Tsql,我希望以矩阵的形式创建一个表(如下所示),其中列标题是变量 @可作为行为 @作为WCT的WCT表 临时表,从@ProductionTable派生为PT 我要查找的输出如下所示。基本上,我希望ACT.AC作为专栏标题运行,WCT.WC运行,并计算11月6日ActFin的数量。颜色显示匹配关联。之后我将合并其余部分,不太关心null或0 到目前为止的查询(在FOR语句处失败) 这可能吗?FOR子句的中的列需要包装在[]中: SELECT * FROM ( SELECT
这可能吗?FOR子句的
中的列需要包装在[]
中:
SELECT * FROM
(
SELECT
PT.ParentPart,
ACT.AC,
WCT.WC,
PT.ActFin
FROM @ProductionTable AS PT
INNER JOIN @WCTable AS WCT ON WCT.WC = PT.WC
INNER JOIN @ACTable AS ACT ON PT.AC = ACT.AC
) t
PIVOT(
COUNT(CASE
WHEN
PT.ActFin > '2019-11-06' --count
THEN
1
END)
FOR ACT.AC IN ( --this is where things fall apart
[54],
[53],
[52])
)
“这是事情分崩离析的地方”无助于我们帮助你。如何分崩离析?出错?错误的结果?没有结果?我只是不知道如何从这一点出发。那么,您当前的代码有什么问题吗?我不明白您所说的“我没有看到任何关于
语句的”是什么意思。@alexherm FOR ACT.AC IN(。。。
SELECT * FROM
(
SELECT
PT.ParentPart,
ACT.AC,
WCT.WC,
PT.ActFin
FROM @ProductionTable AS PT
INNER JOIN @WCTable AS WCT ON WCT.WC = PT.WC
INNER JOIN @ACTable AS ACT ON PT.AC = ACT.AC
) t
PIVOT(
COUNT(CASE
WHEN
PT.ActFin > '2019-11-06' --count
THEN
1
END)
FOR ACT.AC IN ( --this is where things fall apart
[54],
[53],
[52])
)