J'essaie de créer une requête SQL 2005 pour récupérer et combiner des enregistrements de 3 vues de données SCCM. La première vue contient des enregistrements de PC valides; la seconde contient des informations de connexion contenant: ID-PC, nom d'utilisateur, horodatage, etc; le troisième contient PC-id, adresse IP.Requête SCCM: Comment obtenir le dernier enregistrement de connexion utilisateur (le cas échéant) et affichage PC, IP, utilisateur, logontimestamp
La 1stview ne contient qu'un seul enregistrement nique par PC; la deuxième vue peut contenir plusieurs enregistrements par ordinateur: un pour chaque connexion d'un utilisateur à un ordinateur; le 3ème peut contenir plusieurs enregistrements par PC: un pour chaque adresse IP enregistrée dans la base de données.
il est comme:
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
Je veux que la requête de me présenter une liste de tous les PC dans la première vue, et afficher également (est disponible) l'adresse IP; le moment le plus tard, une connexion s'est produite et par qui.
La requête que j'ai construite sofar renvoie chaque PC, mais inclut CHAQUE utilisateur qui s'est connecté à ce PC et quand, pas le dernier seulement. J'espère que n'importe qui peut m'aider à comprendre cela. Je ne suis pas un scripteur SQL expérimenté et construit le code ci-dessous en utilisant l'info du Net.
Ma requête:
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
Merci à l'avance, Eric
merci pour le reformatage! – bernie