【问题标题】:The type of column "" conflicts with the type of other columns specified in the UNPIVOT list - SQL Server 2008列“”的类型与 UNPIVOT 列表中指定的其他列的类型冲突 - SQL Server 2008
【发布时间】:2016-02-11 21:13:58
【问题描述】:

我有这个问题

SELECT 
    MUESTRAS, POZOS, PRIORITY, NAME, VALUE
FROM 
    (SELECT 
         MUESTRAS, POZOS, PROJECTCODE, SAMPLETYPE,
         PRIORITY, CAST(VAR1 AS NVARCHAR(MAX)) AS VAR1, NUM1, NUM2 
     FROM 
         WS_LEYES_PTXT_PILAS_CALCULADAS) p
UNPIVOT
   (VALUE FOR NAME IN
      (VAR1,-- Varchar maybe Null
       NUM1,-- Float
       NUM2)-- Float
) AS unpvt;

我尝试转换所有变量,但我有同样的错误

谢谢!和奖励

【问题讨论】:

  • 转换变量就是答案,你一定是在实现中犯了错误。请发布您的尝试,以便我们对其进行调试。

标签: sql sql-server sql-server-2008 tsql


【解决方案1】:

您需要将所有三列转换为相同的类型:

SELECT MUESTRAS, POZOS, PRIORITY, NAME, VALUE
FROM (SELECT MUESTRAS, POZOS, PRIORITY,
             CAST(VAR1 AS NVARCHAR(MAX)) AS VAR1,
             CAST(NUM1 AS NVARCHAR(MAX)) as NUM1,
             CAST(NUM2 AS NVARCHAR(MAX)) as NUM2
      FROM WS_LEYES_PTXT_PILAS_CALCULADAS
     ) p
UNPIVOT
   (VALUE FOR NAME IN
      (VAR1,-- Varchar maybe Null
       NUM1,-- Float
       NUM2)-- Float
) AS unpvt;

您可能希望使用str() 之类的东西来更好地控制格式。

【讨论】:

    猜你喜欢
    • 2014-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-29
    • 1970-01-01
    相关资源
    最近更新 更多