0

我只想找到失败的用户详细信息,但下面的查询给出了重复的记录。我无法找到合适的解决方案。

要查找失败的作业详细信息,我使用以下查询:

select * from executionlog e
join catalog c on e.reportid = c.itemid
where c.name like '%reportname%'
and timestart>= '2013-04-15 09:00:00.000' 
and status <> 'rsSuccess'

但是,上述查询为特定报告提供了重复值。

我怎样才能获得独特的细节?

注意:我们不能申请distinct或者group by因为表格包含的列ntextimage数据类型

4

1 回答 1

2

如果您只想要“失败的用户详细信息”,那么根本不要选择ntextorimage列。这样你就可以正常地做一个 DISTINCT :

SELECT  DISTINCT
      --Parameters,
      --Content,
      --Property,
      --Parameter,
      InstanceName, ReportID, UserName, RequestType, Format,  TimeStart, TimeEnd, 
      TimeDataRetrieval, TimeProcessing, TimeRendering, Source, Status, ByteCount, 
      [RowCount], ItemID, Path, Name, ParentID, Type,  Intermediate, SnapshotDataID, 
      LinkSourceID,  Description, Hidden, CreatedByID, CreationDate, ModifiedByID, 
      ModifiedDate, MimeType, SnapshotLimit, PolicyID, PolicyRoot, ExecutionFlag, 
      ExecutionTime
FROM  executionlog e
JOIN  catalog c ON e.reportid = c.itemid
WHERE c.name LIKE '%reportname%'
      AND timestart>= '2013-04-15 09:00:00.000' 
      AND status <> 'rsSuccess'

您甚至可以修剪更多列。请注意,无论如何,在许多情况下这样做SELECT *是一种不好的做法

如果您对相应的ntext和/或image值感兴趣,您可以随时catalog再次加入反对上述子查询。

于 2013-05-02T12:59:23.483 回答