SCCMでカスタムレポートを作成しようとしていますが、特定のKBがサーバのプールにインストールされているかどうかがわかり、バイナリ回答を返します(この場合はyesまたはno )。サーバ上のKBステータスを返すSCCMレポート
問題は、1 KBのステータスを返すことができないということです。
SELECT
SYS.Name0 'Computer',
SYS.operatingSystem0 'OS',
UIN.Title 'Update',
CASE
WHEN UIN.Title LIKE '%KB3092627%' THEN 'Yes'
ELSE 'No'
END 'KB Installed'
FROM v_R_System SYS
INNER JOIN v_UpdateComplianceStatus UCS ON SYS.ResourceID = UCS.ResourceID
INNER JOIN v_UpdateInfo UIN ON UCS.CI_ID = UIN.CI_ID
WHERE SYS.operatingSystem0 LIKE '%Server 2008%'
ORDER BY SYS.Name0
を、私は、すべての検出された更新の各SYS.Name0
、1の結果の数百を取得:私はこれを実行しています。目的のKBではない更新のためのすべてのレコードは、KB Installed
の場合は'No'
の値を持ちますが、それでも表示されます。私はSELECT DISTINCT
を試してみましたが、それは私に別の結果を持っているかどうかを確認しようとしました。
私が望むのは、KBが存在するかどうかを判断し、存在するかどうかを確認することです。私は、このコードで「インストールされているかどうか」の基本的な質問をしていないように感じていますが、これを別の方法で尋ねる方法は考えられません。これはクエリの代わりにレポートビルダーで行うべきことですか?
更新のための特定のコンプライアンス状態にあるコンピュータ - コンプライアンス8 \コンプライアンスこれはやってます、ありがとう!私はこの問題で絶対に死んでしまった。 – Eric
この場合、SELECT DISTINCTとSELECTのどちらを使用していますか?同様に、CASE文などの出力を変更しますか? – Eric
これは、各 's1.Name0'の値が一度しか現れないことを意味します(実際には、各値は' v_R_System'テーブルに何度も現れることがあります)。あなたのクエリから 'DISTINCT'を取り除き、どんな結果が得られたかを見てください。 :) – 3N1GM4