SQL Server中的重复记录

时间:2017-10-26 12:26:08

标签: sql-server

enter image description here我创建了一个视图CONTRACT_View。当我使用table2.objid = 528770运行视图时,我获得了正确的记录。

由于它是一个视图,我必须在查询中使用此视图,当我尝试时,我会获得大量重复记录。

使用ID运行视图时:

在查询中使用视图获取不同记录时:

enter image description here

我的观点:

ALTER VIEW [dbo].[CONTRACT_View] 
AS
    WITH mycte (OBJID,CONTRACT__TITLE,INCIDENT__ID) AS 
    (
        SELECT  
            table1.Coulmn1 OBJID, 
            table1.title CONTRACT__TITLE,
            table2.objid INCIDENT__ID
        FROM 
            table1 
        INNER JOIN 
            table2 on table2Rel= table1.objid
        WHERE
            (     
               AND (table2.objid=528770               
            )    
    )
    SELECT  
        STUFF((SELECT ',' + CAST(CONTRACT__TITLE AS VARCHAR(2000))
               FROM mycte t2
               WHERE t2.[objid] = t1.[objid]
               FOR XML PATH(''), TYPE).value('.', 'VARCHAR(MAX)'), 1, 1, '') AS [AVILABLE_ENTITLEMENT],
        [INCIDENT__ID]
    FROM 
        mycte t1
    GROUP BY 
        t1.[objid], t1.[INCIDENT__ID]

我的选择:

SELECT
    CONTRACT_View.AVILABLE_ENTITLEMENT, 
    CONTRACT_View.INCIDENT__ID 
FROM
    CONTRACT_View
WHERE
    INCIDENT__ID =528770            

0 个答案:

没有答案