我下表指出在那裏供應商提供他們的產品領域,有三列作爲取決於同桌
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,它應該返回我的Area_IDs R,T這是共同在所有3個供應商。總之,我必須爲給定Supp_IDs執行Area_IDs的交叉點。
目前我想做是:
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
上面的代碼是很好,當我知道有確切3個Supp_IDs 但我無法找到如何在運行時使用上面的邏輯將有不同數量的Supp_ID。
現在我無法找到我應該怎麼寫上面的SP。
在此先感謝。
我只是澄清'3'來自'IN'子句中的參數數量。所以,除非OP找到一個方法來計算的發送到SP的參數量,那麼就要添加包含Supp_ID量的額外的參數發送 –
@MostyMostacho感謝,加入澄清的答案,希望它有助於 –
@Roman Pekar,\t Mosty Mostacho非常感謝我的意見。 –