私はSQLテーブルとしてこのようなものを持っています:
EmplID スキル ID
1780 128
1780 133
2061 128
2068 128
「128,133」のようにストアド プロシージャに文字列を渡すとします。分割関数があるため、SQL は次のようになります。
SELECT DISTINCT EmplID
FROM EmplSkills
WHERE SkillID IN(SELECT data FROM dbo.Split(@Skills, ','))
SQL ステートメントで 1780、2061、および 2068 を取得することが簡単にわかります。私が本当に必要としているのは、スキル ID として 128 と 133 の両方を持つ EmplID を取得することです。これにより、1780 のみを取得する必要があります。
たくさんのクレイジーな結合なしでこれにアプローチする方法はありますか?
本当にありがとう。