我有下表指定供应商交付产品的区域,其中三列为
ID Supp_ID Area_ID
1 a P
2 a R
3 a T
4 a s
. . .
. . .
5 b R
6 b T
7 b V
. . .
. . .
8 c Z
9 c R
10 c P
11 c T
. . .
. . .
. . .
现在我想要这样一个存储过程,如果我将Supp_IDs a,b,c传递给 SP,它应该返回我在所有 3 个供应商中通用的Area_IDs R,T 。简而言之,我必须为给定的 Supp_ID执行 Area_ID 的交集。
目前我正在尝试的是:
select Area_ID from Table_name where Supp_ID=a
INTERSECT
select Area_ID from Table_name where Supp_ID=b
INTERSECT
select Area_ID from Table_name where Supp_ID=c
当我知道确切的三个 Supp_ID时,上面的代码很好, 但是当 Supp_ID 的数量不同时,我无法找到如何在运行时使用上述逻辑。
现在我无法找到我应该如何在 SP 上面写。
提前致谢。