2016-06-13 74 views
1

这是我的SQL查询。执行此查询时,我得到以上错误从字符串转换为uniqueidentifier时转换失败sql server 2014

WITH Results_CTE AS (select Top 20 ROW_NUMBER() OVER (ORDER BY KeyId desc) AS SNo,* from(select * from ( select ps.Id as KeyId,dps.Id as SettingId,dps.DocumentType,dps.DocumentProcessingType,null as Description,null as Link 
      from [ParttimerSalary] ps inner join [ParttimerEmployee] pe on pe.Id = ps.ParttimerEmployeeId 
      inner Join [DocumentProcessingSetting] dps on dps.Step = ps.Step and dps.KeyId = pe.ParttimerType and 
      (dps.RoleId = 'e218e9e0-d51d-45b4-9380-77f43ac50f0d' or dps.UserId = '1967681a-7d64-486e-99a8-4b58746cef81') and dps.DocumentType = 2 union all 
      Select 'Incident/service is assigned for you' as [Description],'#/it/incidentsupport/' as Link,0 as Id,0 as SettingId,0 as DocumentType,0 as DocumentProcessingType from Incident where IncidentStatus = 2 and SupportById = '1967681a-7d64-486e-99a8-4b58746cef81' 
      )wrapped) listing ORDER BY KeyId desc) SELECT * FROM Results_CTE WHERE SNo >= 0 AND SNo <=20 

任何帮助,将不胜感激。谢谢

回答

1

在使用Union时,所有数据类型都应该在选择元素中匹配。

  • ps.Id由于KeyId是唯一标识符,而'事件/服务为您指定',因为[Description]是错误原因的字符串。
0

其实,我已经改变了工会的关键字后,从表中选择列,如工会期间的订单,我们需要管理秩序,数据类型等的两个表 的领域和问题得到解决。 无论如何谢谢

相关问题