我有一个查询要进行数据透视,但是在此表中我具有无法比较的“几何”数据类型。我该如何解决这个问题。
我收到以下错误:
第488级消息,状态16,状态1,第14行
数据透视表分组列必须具有可比性。 “ GEOM”列的类型为“ geometry”,这是不可比较的。
查询我尝试过的内容
SELECT es.Extraction_Date,
es.Table_Name,
es.Extraction_Type,
es.Feature_Count
FROM Extraction_Statistics es
PIVOT(SUM(es.Feature_Count)
FOR es.Extraction_Type IN ([Start], [Insert], [Update], [Delete])) AS PivotTable;
答案 0 :(得分:0)
您可以使用子选择而不是整个表来排除GEOM
上的列PIVOT
:
SELECT
PivotTable.Extraction_Date,
PivotTable.Table_Name,
[Start], [Insert], [Update], [Delete]
FROM (
SELECT Extraction_Date, Table_Name, Extraction_Type, Feature_Count
FROM Extraction_Statistics
) es PIVOT (
SUM(es.Feature_Count)
FOR es.Extraction_Type IN ([Start], [Insert], [Update], [Delete])
) AS PivotTable;
demo on dbfiddle.uk(查询与该解决方案之间的比较)
您还必须解决当前SELECT
语句中的一些问题:
SELECT
上,您只能使用数据透视表中的列(此处为PivotTable
)。定义为es
的表在数据透视之后不可用。SELECT
(此处为Feature_Count
和Extraction_Type
)上使用的数据透视表。改用枢轴列:[Start]
,[Insert]
,[Update]
和[Delete]