嘿所有我有以下查询,我正在努力工作:
SELECT DISTINCT
APL.Status
,APL.DateModified
,APL.PID
,APL.PType
,APL.PName
,APL.PostDate
,APL.TID
,APL.HRate
,APL.Amount
,APL.PContact
,APL.PMail
,APL.PPhone
,APL.PFax
,APL.RDate
,PS.Comments
FROM
[billing].[dbo].[x_APL] AS APL
INNER JOIN
[billing].[dbo].[tblPS] AS PS ON APL.ProjectID = PS.ProjectID
WHERE
APL.PID = '5879'
我得到的错误是:
无法将ntext数据类型选为DISTINCT,因为它无法比较。
如何解决此问题并仍使用INNER JOIN
?
答案 0 :(得分:1)
您无法比较Ntext,图像,文本数据类型......作为一种解决方法,请尝试将所有这些数据类型转换为Nvarchar或Varchar ..
示例:
cast(textdatatye as varchar(10))
我建议自they will be removed in future version of SQLServer ..
以来更换它们ntext,text和image数据类型将在SQL Server的未来版本中删除。避免在新的开发工作中使用这些数据类型,并计划修改当前使用它们的应用程序。请改用nvarchar(max),varchar(max)和varbinary(max)。
答案 1 :(得分:1)
据说,您的COMMENTS是ntext,使用CAST函数将数据类型转换为NVARCHAR。
而不是
PS.Comments
你可以写
cast(PS.Comments as nvarchar(4000)) as [Comments]