我有两个表需要进行连接。一,我需要的标题实际上是在字段中。经过多次游戏后,我发现了这一点。我真的很兴奋,因为它正在运行,但令我沮丧的是我意识到它只有表格[GM]中的标题。[dbo]。[PKT]。它缺少表a中的所有字段([GM]。[dbo]。[CMPLX])。如何显示表a中的字段?另外,我试图只显示表p中的某些字段,但只有在我这样做时才会显示 - 在枢轴部分选择* From。
With GM1 AS (
Select TOP 10 a.[CMPLX_NBR],
a.[SYSTEM_ID],
a.[PKT_TYP_CD],
a.[CATEG_CD],
a.[SUPPLR_CD],
a.[TRANS_CD],
a.[PRIORITY_INT],
a.[PRIORITY_INT_EXPR_DT],
a.[RQSTR_NBR],
a.[TMSTMP],
p.[PKT_DTTM]
FROM [GM].[dbo].[CMPLX] as a
INNER JOIN [GM].[dbo].[PKT] as p
ON a.[CMPLX_NBR] = p.[CMPLX_NBR]
)
SELECT *
FROM [GM].[dbo].[PKT]
PIVOT (
sum([PKT_ATTR_CNT])
For [PKT_ATTR_CD]
IN (not_sent, not_sent, other, appl, avg, max, min, sum, sent, why)
)AS GM1Pivot;
答案 0 :(得分:0)
在PIVOT运算符中,我们仅指示聚合和扩展元素,而不指示分组元素。 T-SQL通过消除来识别分组元素。这就是为什么我们在使用PIVOT之前使用CTE(仅3个元素(列))的原因 CTE应该只有这些元素:
分组列([CMPLX_NBR])
传播栏([PKT_TYP_CD]),
聚合列([PKT_ATTR_CNT])。