Sql server 2008 在此查询中使用Blob列要求查询主题必须具有键或唯一索引
我有以下代码:Sql server 2008 在此查询中使用Blob列要求查询主题必须具有键或唯一索引,sql-server-2008,blob,Sql Server 2008,Blob,我有以下代码: SELECT boo_event 'Orden de Trabajo' ,STUFF((SELECT ', ' + CAST(boo_person AS VARCHAR(100)) [text()] FROM R5BOOKEDHOURS WHERE boo_event = t.boo_event FOR XML PATH(''), TYPE).value('.','NVARCHAR(MAX)'),1,1,' ') Empleados , STU
SELECT boo_event 'Orden de Trabajo' ,STUFF((SELECT ', ' + CAST(boo_person AS VARCHAR(100)) [text()]
FROM R5BOOKEDHOURS
WHERE boo_event = t.boo_event
FOR XML PATH(''), TYPE).value('.','NVARCHAR(MAX)'),1,1,' ') Empleados , STUFF((SELECT ', ' + CAST(boo_hours AS VARCHAR(100)) [text()]
FROM R5BOOKEDHOURS
WHERE boo_event = t.boo_event
FOR XML PATH(''), TYPE).value('.','NVARCHAR(MAX)'),1,1,' ') Horas
FROM R5BOOKEDHOURS t
GROUP BY boo_event
它在SQL Server Studio上工作得非常好,但当我试图在COGNOS Reporting Studio上使用它时,我遇到了以下错误:
--在此查询中使用Blob列要求查询主题必须具有键或唯一索引--
我不确定这是否只是该工具的一个错误,或者我们可以通过稍微更改代码来解决的问题。将NVARCHAR(MAX)
更改为NVARCHAR(4000)
:
尝试将
NVARCHAR(MAX)
更改为NVARCHAR(4000)
它可以工作,谢谢!!!!
SELECT boo_event 'Orden de Trabajo' ,STUFF((SELECT ', ' + CAST(boo_person AS VARCHAR(100)) [text()]
FROM R5BOOKEDHOURS
WHERE boo_event = t.boo_event
FOR XML PATH(''), TYPE).value('.','NVARCHAR(4000)'),1,1,' ') Empleados , STUFF((SELECT ', ' + CAST(boo_hours AS VARCHAR(100)) [text()]
FROM R5BOOKEDHOURS
WHERE boo_event = t.boo_event
FOR XML PATH(''), TYPE).value('.','NVARCHAR(4000)'),1,1,' ') Horas
FROM R5BOOKEDHOURS t
GROUP BY boo_event;