Hello 🙂
Voici une petite requête simple avec la création de table temporaire afin d’accélérer le traitement de la requête SQL et manipuler les résultats. Par exemple cette requête permet via les tables temporaires d’afficher sur la même ligne pour un ordinateur la version d’office et d’acrobat dans deux colonnes séparées.
J’ai mis des commentaires sur la requête SQL afin de vous expliquer les différents éléments 😉
--## Vérifie que la table n'éxiste pas
IF OBJECT_ID(‘tempdb..#CUR_GS_PROGRAMS1’) IS NOT NULL
DROP TABLE #CUR_GS_PROGRAMS1
IF OBJECT_ID(‘tempdb..#CUR_GS_PROGRAMS2’) IS NOT NULL
DROP TABLE #CUR_GS_PROGRAMS2
–## Alimente la table #CUR_GS_PROGRAMS1
SELECT DISTINCT
ResourceID, MAX(ProductVersion0) As AdobeReaderVersion
INTO #CUR_GS_PROGRAMS1
FROM v_GS_INSTALLED_SOFTWARE
Where ARPDisplayName0 like ‘Adobe reader%’
group by ResourceID
–## Alimente la table #CUR_GS_PROGRAMS2
SELECT DISTINCT
ResourceID, MAX(ProductVersion0) As OfficeVersion
INTO #CUR_GS_PROGRAMS2
FROM v_GS_INSTALLED_SOFTWARE
Where ARPDisplayName0 LIKE ‘Microsoft Office Standard%’ OR ARPDisplayName0 LIKE ‘Microsoft Office Prof%’
group by ResourceID
–## Requête SQL
select
VRS.Name0,
AdobeReaderVersion,
OfficeVersion
from
v_R_System VRS
LEFT JOIN #CUR_GS_PROGRAMS1 VGSPR on VGSPR.ResourceID=VRS.ResourceId
LEFT JOIN #CUR_GS_PROGRAMS2 VGSPR2 on VGSPR2.ResourceID=VRS.ResourceId
–## Vide les tables tampons
DROP TABLE #CUR_GS_PROGRAMS1
DROP TABLE #CUR_GS_PROGRAMS2