1

私は SQL クエリを作成するのに助けが必要ですが、私はこれに精通していません。「TestMe」などの表示名でソフトウェアがインストールされているシステム上のコンピュータ ハードウェアを見つけようとしています。SQL コードは次のとおりです。

SELECT dbo.v_GS_ADD_REMOVE_PROGRAMS_DispalyName0, SYS.Netbios_Name0, Processor.Name0, Processor.MaxClockSpeed0, Processor.DeviceID0
FROM v_R_System SYS
JOIN v_GS_PROCESSOR Processor on SYS.ResourceID=Processor.ResourceID
JOIN dbo.v_GS_ADD_REMOVE_PROGRAMS
WHERE v_GS_ADD_REMOVE_PROGRAMS_DisplayName0 LIKE %TestMe%
ORDER BY SYS.Netbios_Name0

これを実行すると、次のエラーが発生し続けます。

Msg 156, Level 15, State 1, Line 5
Incorrect syntax near the keyword 'WHERE'.

大変お世話になりました。みんな、ありがとう。

4

3 に答える 3

3

WHEREの前にonと条件が必要であり、'%TestMe%'を次のように配置する必要があります。

SELECT dbo.v_GS_ADD_REMOVE_PROGRAMS_DispalyName0, SYS.Netbios_Name0, Processor.Name0, Processor.MaxClockSpeed0, Processor.DeviceID0
FROM v_R_System SYS JOIN v_GS_PROCESSOR Processor on SYS.ResourceID=Processor.ResourceID JOIN dbo.v_GS_ADD_REMOVE_PROGRAMS as t on t.Id = SYS.ResourceID
WHERE v_GS_ADD_REMOVE_PROGRAMS_DisplayName0 LIKE '%TestMe%' ORDER BY SYS.Netbios_Name0

テーブル間の関係がわからないため、t.Id=SYS.ResourceIDを正しい論理式に変更する必要があることに注意してください。

于 2012-10-23T21:01:09.650 に答える
0

like演算子を使用しているため、%TestMe% を一重引用符で囲む必要があります。

于 2012-10-23T21:20:25.217 に答える
0

申し訳ありませんが、私はすぐに返信できませんでした.私は家族の問題でとても忙しかったです. とにかく、私は SQL レポートに反対することに決め、代わりに、私が探していた結果を提供しているように見える WMI クエリを使用しました。なぜなら、SQL レポートは、特定のソフトウェアがインストールされていて、使用したくないシステムをターゲットにするためだけだったからです。それは一時的な使用のためだけであるため、そのための私のSQLレポート。そのため、WMI クエリを使用しました。使用した WMI クエリ コードは次のとおりです。

select distinct SMS_R_System.Name, SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName, SMS_G_System_ADD_REMOVE_PROGRAMS.Version, SMS_G_System_X86_PC_MEMORY.TotalPhysicalMemory, SMS_G_System_LOGICAL_DISK.Size, SMS_G_System_IDE_CONTROLLER.Description, SMS_G_System_PROCESSOR.Name, SMS_G_System_PROCESSOR.MaxClockSpeed, SMS_G_System_PROCESSOR.AddressWidth, SMS_G_System_MOTHERBOARD_DEVICE.PrimaryBusType, SMS_G_System_VIDEO_CONTROLLER.VideoProcessor, SMS_G_System_VIDEO_CONTROLLER.AdapterRAM, SMS_G_System_OPERATING_SYSTEM.Caption, SMS_G_System_OPERATING_SYSTEM.CSDVersion from  SMS_R_System inner join SMS_G_System_ADD_REMOVE_PROGRAMS on SMS_G_System_ADD_REMOVE_PROGRAMS.ResourceID = SMS_R_System.ResourceId inner join SMS_G_System_X86_PC_MEMORY on SMS_G_System_X86_PC_MEMORY.ResourceID = SMS_R_System.ResourceId inner join SMS_G_System_PROCESSOR on SMS_G_System_PROCESSOR.ResourceID = SMS_R_System.ResourceId inner join SMS_G_System_VIDEO_CONTROLLER on SMS_G_System_VIDEO_CONTROLLER.ResourceID = SMS_R_System.ResourceId inner join SMS_G_System_MOTHERBOARD_DEVICE on SMS_G_System_MOTHERBOARD_DEVICE.ResourceID = SMS_R_System.ResourceId inner join SMS_G_System_OPERATING_SYSTEM on SMS_G_System_OPERATING_SYSTEM.ResourceID = SMS_R_System.ResourceId inner join SMS_G_System_IDE_CONTROLLER on SMS_G_System_IDE_CONTROLLER.ResourceID = SMS_R_System.ResourceId inner join SMS_G_System_LOGICAL_DISK on SMS_G_System_LOGICAL_DISK.ResourceID = SMS_R_System.ResourceId where SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName = "Varian Aria Radiation Oncology Client" order by SMS_R_System.Name
于 2012-10-28T23:25:55.940 に答える