2017-10-27 4 views
0

ソフトウェアプログラムの一覧と、インストールされているコンピュータの数を取得するために、以下のクエリを使用しようとしています。出力は次のようになりますSQLカウントが正しく機能しない

Count (computers) Software 
55     Microsoft Outlook 

私は以下のクエリを使用するとカウントが得られますが、そのカウントは私が探しているとは思いません。ソフトウェアが55台のコンピュータにインストールされていると、その数が返されます。 TIA

SELECT COUNT(c.Name0), 
     a.DisplayName0 
FROM v_GS_ADD_REMOVE_PROGRAMS a, 
     v_R_System c 
WHERE A.DisplayName0 NOT LIKE 'hotfix for%' 
     AND A.DisplayName0 NOT LIKE 'Security Update for%' 
GROUP BY a.DisplayName0 
ORDER BY COUNT(c.Name0) 
+4

どのように 'v_GS_ADD_REMOVE_PROGRAMS'と' v_R_System'テーブルを結合していますか? –

+0

これはSCCMデータベースであり、c.Name = Computer Nameの意味がわかりません – user1342164

+0

これらの各テーブルの列は何ですか? – NateH06

答えて

2

2つのテーブルの間に結合述語がないようです。 v_R_Systemへの参照は必要ですか?

あなたがテーブル間の結合述語を追加する必要があります必要がある場合は、あなただけの

SELECT COUNT(*), 
     a.DisplayName0 
FROM v_GS_ADD_REMOVE_PROGRAMS a 
WHERE A.DisplayName0 NOT LIKE 'hotfix for%' 
     AND A.DisplayName0 NOT LIKE 'Security Update for%' 
GROUP BY a.DisplayName0 
ORDER BY COUNT(*); 

を使用することができない場合。

+0

私はエラーが発生するので、その必要があると思います。マルチパート識別子 "c.Name0"はバインドできませんでした。 – user1342164

+0

私はカウントをしない場合、それはあまりにも多くの行である各ソフトウェアプログラムのコンピュータ名を返します – user1342164

+0

テーブルを削除する場合は、それへの参照も削除する必要があります。 COUNT(c.Name0)をCOUNT(*)に置き換えます –

関連する問題