SELECT JobID, MAX(DispoInfo1), MAX(DispoInfo5), MAX(DispoInf10)
FROM
(
SELECT RowID AS JobID, FieldName, FieldValue
FROM FurtherInfo
WHERE FieldName IN ('DispoInfo1', 'DispoInfo5', 'DispoInf10')
) s
pivot
(
MAX(FieldValue)
FOR FieldName IN (DispoInfo1, DispoInfo5, DispoInf10)
) piv
为什么我们不能执行max(text数据类型值),但是可以在SQL中执行max(nvarchar)?
答案 0 :(得分:1)
SELECT JobID, MAX(DispoInfo1), MAX(DispoInfo5), MAX(DispoInf10)
FROM
(
SELECT RowID AS JobID, FieldName,
CAST(FieldValue AS VARCHAR(MAX))AS FieldValue
FROM FurtherInfo
WHERE FieldName IN ('DispoInfo1', 'DispoInfo5', 'DispoInf10')
) s
pivot
(
MAX(FieldValue)
FOR FieldName IN (DispoInfo1, DispoInfo5, DispoInf10)
) piv
答案 1 :(得分:0)
您可以通过将文本字段转换为varchar(max)/ nvarchar(max)来使用max内的文本字段
MAX (CONVERT (varchar(max), fieldvalue ))