次の表は、サプライヤーが製品を提供する地域を示しています。次の 3 つの列があります。
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_ID a、b、cを SP に渡すと、3 つのサプライヤーすべてに共通のArea_ID 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
上記のコードは、正確に 3 つの Supp_IDがあることがわかっている場合に 適していますが、Supp_ID の数が異なる場合に実行時に上記のロジックを使用する方法を見つけることができません。
今、私はSPの上にどのように書くべきかを見つけることができません.
前もって感謝します。