私はかなり複雑なレポートを受け取り、それを更新して、1 つまたはそれらにインストールされたより具体的なソフトウェアパッケージ。
メイン クエリの「簡略化された」バージョン (以下に示す) は機能しますが、残念ながらレポートには、同じコンピューター上の同じソフトウェア パッケージに対してほぼ重複する行が一覧表示されることがあります。1 つはインストール日があり、もう 1 つはインストールがありません。設置日のないレコードもありますが、設置日の対応するレコードはありません。
「AND arp.InstallationDate0 IS NOT NULL」を WHERE 句に追加することで、インストール日のない行を削除できますが、クエリを変更して、重複したレコードが存在する場合に、インストール日のあるものだけが表示されるようにするにはどうすればよいですか?インストールされていないレコードが 1 つだけ存在する場合、そのレコードが表示されますか?
ご協力いただきありがとうございます。
SELECT DISTINCT sys.Name0 , arp.DisplayName0 , arp.Version0 , arp.InstallDate0
FROM v_R_System sys
INNER JOIN (SELECT * FROM v_GS_ADD_REMOVE_PROGRAMS UNION SELECT *
FROM v_GS_ADD_REMOVE_PROGRAMS_64) arp ON sys.ResourceID = arp.ResourceID
INNER JOIN v_FullCollectionMembership fcm ON sys.ResourceID = fcm.ResourceID
WHERE arp.DisplayName0 IN (@productname) AND COALESCE (arp.Version0, '') LIKE @version
AND fcm.CollectionID IN (@selectcollection)
ORDER BY sys.Name0