j'ai besoin de prendre un poste, avec son utilisateur associé, et toute les applications associé au poste...
la facon ca sort :
Code :
P13429 MonCodeUser 'Excel'
P13429 MonCodeUser 'MS Word'
...
j'ai fais un left outter join pour afficher les poste même s'ils ont pas de personne associé (étant donnée chaque donnée est stocké dans des tables différente)
pour le logiciels, j'aimerais faire la même chose, mais le problème est que je dois passer par 3 tables "liens" avant d'arriver aux applications installé.
Si je fais un outter left join sur les 3 tables, ca marche, sauf que ca prend environ 4 minutes a afficher le résultat... est-ce qui a une autre facon?
mon code original :
Code :
select distinct adv_is_inventory.Asset_Tag as 'Poste'
, adv_people.user_id as 'DernierUtilisateur'
, SMS_SoftwareFile.FileName AS 'NomFichier'
, SMS_SoftwareFile.FileVersion AS 'VersionFichier'
From adv_is_inventory
JOIN sms_System_Data on adv_is_inventory.asset_Tag = sms_System_Data.Name0
JOIN SMS_SoftwareInventory ON SMS_System_DATA.MachineID = SMS_SoftwareInventory.ClientId
JOIN SMS_SoftwareFile ON SMS_SoftwareInventory.FileID = SMS_SoftwareFile.FIleID and
SMS_SoftwareFile.FileName like '%M70'
left outer JOIN adv_inv_people on adv_is_inventory.is_inventory_id = adv_inv_people.is_inventory_id
left outer JOIN adv_people on adv_inv_people.people_id = adv_people.people_id
JOIN adv_organization on adv_is_inventory.organization_id = adv_organization.organization_id
where adv_organization.organization_name like '%CLE 009 Drummondville SR%'
AND (Left(adv_is_inventory.Asset_Tag,1) = 'P' or Left(adv_is_inventory.Asset_Tag,1) = 'M')
Order by adv_is_inventory.Asset_Tag--, Inventory2.asset_Tag
les tables pour les applications sont
sms_System_Data SMS_SoftwareInventory et SMS_SoftwareFile