2017-06-13 15 views
0

まず、私はこれに対する答えを探してきました。また、SQLコーディングも新しくなっています。私は、カスタムレポートでSCCM 2012r2でクライアントマシンの現在の健康状態を発見しようとしています';'の近くに不正な構文があります。 (Microsoft SQL Serverのエラー102)

、以下のコードを参照してください。

SELECT  v_r_system.name0          AS 'Computer Name', 
      v_gs_antimalwarehealthstatus.lastquickscanage   AS 'Days since last quick scan', 
      v_gs_antimalwarehealthstatus.lastfullscanage   AS 'Days Since Last Full Scan', 
      v_gs_antimalwareinfectionstatus.computerstatus   AS 'Current Status', 
      v_gs_antimalwareinfectionstatus.lastcleaneddectiontime AS 'Last Cleaned' 
FROM  v_gs_antimalwarehealthstatus 
INNER JOIN v_gs_antimalwarehealthstatus 
INNER JOIN v_r_system 
ON   v_gs_antimalwarehealthstatus.resourceid = v_r_system.resourceid 
INNER JOIN v_gs_antimalwareinfectionstatus; 

私はレポートビルダー3.0でそれを試してみたとき、私はエラー以下になっ保ちます:

Error 102 Syntax near';'

私はそれは私が狂いそうだ、問題を見つけるように見えることができない...とにかく

、何もY私は正しい方向に私を指すために行うことができます素晴らしいだろう。 whith列で

乾杯

P.

+2

「結合」の「ON」節はどこにありますか? INNERが –

+3

は' INNERはv_gs_antimalwareinfectionstatusを登録しようビットのフィールド] – Backs

+2

に参加追加 - '; – Jens

答えて

0

ON Clauseを忘れました。また、table aliasを使用すると、クエリがきれいに見えるようになります。

SELECT  v_r_system.name0          AS 'Computer Name', 
      v_gs_antimalwarehealthstatus.lastquickscanage   AS 'Days since last quick scan', 
      v_gs_antimalwarehealthstatus.lastfullscanage   AS 'Days Since Last Full Scan', 
      v_gs_antimalwareinfectionstatus.computerstatus   AS 'Current Status', 
      v_gs_antimalwareinfectionstatus.lastcleaneddectiontime AS 'Last Cleaned' 
FROM  v_gs_antimalwarehealthstatus AWT 
INNER JOIN v_r_system VRS 
    ON AWT.resourceid = VRS.resourceid 
INNER JOIN v_gs_antimalwareinfectionstatus AWI 
    ON [Place the Matching columns here]; 
+0

'v_gs_antimalwarehealthstatus FROM'だけでなければなりません 'v_gs_antimalwarehealthstatus から内はv_gs_antimalwarehealthstatu's'を登録しようと思いますもはや範囲にはない。 –

+0

おかげさまで、おかげさまでお世話になりました。私はもう少し勉強しなければならないことが明らかに分かりました。そこで本を買って、勉強します。もう一度ありがとう。 –

+0

@Damien_The_Unbelieverは私のミスが「SELECT」のキャッチで同じことを逃した – Joby

0

あなたが最後のテーブルv_gs_antimalwareinfectionstatusに参加していますか? ON-Clauseに条件を追加するだけで正常に動作するはずです

0

質問に2つの問題があると思います。最初:

FROM  v_gs_antimalwarehealthstatus 
INNER JOIN v_gs_antimalwarehealthstatus 

なぜ内部結合が自己ですか?

INNER JOIN v_gs_antimalwareinfectionstatus ON ... ....; 

をのでFROM .. JOIN一部はのようになります:

FROM  v_gs_antimalwarehealthstatus 

もう一つは、最後にON条件が欠落している参加ということである:私はそれが不要であり、単純であるべきだと思います

FROM  v_gs_antimalwarehealthstatus 
INNER JOIN v_r_system 
ON   v_gs_antimalwarehealthstatus.resourceid = v_r_system.resourceid 
INNER JOIN v_gs_antimalwareinfectionstatus 
ON v_gs_antimalwareinfectionstatus.<column> = <otherTable>.<column> 
関連する問題