枢轴几何无法比拟

时间:2019-04-08 08:23:01

标签: sql-server tsql

我有一个查询要进行数据透视,但是在此表中我具有无法比较的“几何”数据类型。我该如何解决这个问题。

我收到以下错误:

  

第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; 

1 个答案:

答案 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_CountExtraction_Type)上使用的数据透视表。改用枢轴列:[Start][Insert][Update][Delete]