【发布时间】:2016-05-05 04:09:47
【问题描述】:
查询涉及一个包含联系人数据的表。表值函数用于返回每个联系人的“状态”。
insert 语句从联系人表中获取唯一键并将其加载到名为@filteredIdList 的变量中。然后通过将变量 @filteredIdList 传递给它,将其连接到 Contacts 表并再次连接到表值函数。
我已简化示例以显示我当前如何返回状态。这需要改为视图:
DECLARE @filteredIdList IdList;
INSERT INTO @filteredIdList SELECT ContactID FROM Contacts
SELECT
Contacts.ContactID,
Contact_Status
FROM Contacts
INNER JOIN @filteredIdList [IDLIST] ON Contacts.ContactID = [IDLIST].[id]
INNER JOIN tvfContact_Status(@filteredIdList) Contact_Status
ON [IDLIST].[id] = Contact_Status.ContactID
我尝试在视图中将其创建为 CTE,但无法弄清楚。
【问题讨论】:
标签: sql-server tsql view common-table-expression table-valued-parameters