3つのSCCMデータビューのレコードを取得して組み合わせるSQL 2005クエリを作成しようとしています。 最初のビューには有効なPCのレコードが含まれています。 2番目のログオン情報には、PC-ID、ユーザー名、タイムスタンプなどのログオン情報が含まれています。 3番目にはPC-id、IPアドレスが含まれています。SCCMクエリ:最新のユーザーログオン登録(ある場合)を取得し、PC、IP、ユーザー、logontimestampを表示します。
1stviewには、PCごとに1つの固有レコードしか含まれていません。 2番目のビューには、PCごとに複数のレコードを含めることができます。ユーザーがコンピュータにログオンするたびに1つずつ。 3番目にはPCごとに複数のレコードを含めることができます。データベースに登録されているIPごとに1つずつです。
ので、それは次のようだ:私は、クエリは最初のビューで私のすべてのPCのリストを提示し、また、表示したい
view1 (v_R_System_Valid) fields (among others)
ResourceID, NetBIOS
view2 (v_GS_SYSTEM_CONSOLE_USER) fields (among others)
id,ResourceID,SystemConsoleUser0,LastConsoleUse0
view3 (v_RA_System_IPAddresses) fields (among others)
ResourceID,IP_Addresses0
は(入手可能です)IPアドレス;ログオンが発生したLATEST時刻とWHOMによって発生した時刻。
私が作成したsofarのクエリでは、各PCが返されますが、そのPCにログオンした各ユーザーと、最新のものではなく、そのユーザーが含まれます。私は誰もがこれを理解するのを助けることができれば嬉しいです私は経験豊富なSQLスクリプタではなく、ネットからの情報を使って以下のコードを構築しました。
マイクエリ:事前に
Select
SV.Netbios_Name0 AS [NetBIOS Name],
SCU.SystemConsoleUser0 AS [User Name],
CAST(ISNULL(SCU.theLastTime, 0) AS datetime) AS [Last Console Use]
from v_R_System_Valid SV
Left Join (Select ResourceID, SystemConsoleUser0,
Max(LastConsoleUse0) as theLastTime
from v_GS_SYSTEM_CONSOLE_USER
group by ResourceID, SystemConsoleUser0)
AS SCU on SCU.ResourceID = SV.ResourceID
where (SV.Netbios_Name0 not like 'ENC-%')
and (SV.Netbios_Name0 not like 'NL%')
order by SV.Netbios_Name0
おかげで、 エリック
感謝を! – bernie