【发布时间】:2014-05-01 00:57:13
【问题描述】:
我有一个名为 GroupMember 的表。
GroupName MemberId
----------------------
A 101
A 102
B 106
C 110
C 101
我正在尝试编写一个存储过程来检索多个组的成员。应用程序用户可以选择 GroupNames 的数量和运算符 (AND - OR)。
对于 OR 运算符,我只需将 GroupNames 传递给存储过程并加入两者:
Create procedure JoinIntersect(@GroupNames userDefinedTableType1 readonly)
as
select distinct gm.MemberId
from GroupMember gm
inner join @GroupNames selectedGroups
on (gm.GroupName = selectedGroups.Name)
在这种情况下,如果我将 A、C 作为选定组传递,结果将是:
MemberId
--------
101
102
110
如何实现 AND 运算符?属于 A AND C 成员的用户?
【问题讨论】:
标签: sql sql-server tsql