自分自身と結合して不足しているアイテムを見つける必要があるテーブルがあり、行き詰まっています。たぶんそれは経験の浅い問題かもしれませんが、私は自分が望むことを達成するためのループの観点からしか考えることができないようです。
基本的に、表は次のとおりです。
packageID Server
1 baseline
2 baseline
3 baseline
1 server1
3 server1
2 server2
3 server2
私が達成したいと思っているのは、各サーバーから欠落しているパッケージを見つけることです。私は次のようにサーバーごとにこれを取得できます:
SELECT base.*, ISNULL(dp.server,'server1') as Server
FROM (SELECT DISTINCT packageID FROM DB1
WHERE server = 'baseline') base
LEFT OUTER JOIN
(SELECT packageID, server FROM DB1
WHERE server = 'server1') dp
WHERE dp.server IS NULL
これにより、個々のサーバーベースで必要なものが得られます。
packageID Server
2 server1
特定のサーバーがベースラインから欠落している各パッケージのリストを取得するにはどうすればよいですか?