enter image description here我创建了一个视图CONTRACT_View
。当我使用table2.objid = 528770
运行视图时,我获得了正确的记录。
由于它是一个视图,我必须在查询中使用此视图,当我尝试时,我会获得大量重复记录。
使用ID运行视图时:
在查询中使用视图获取不同记录时:
我的观点:
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