zOs/SQL/TADZ
WITH U AS
(
SELECT P.VENDOR_NAME AS VENDOR
, P.ALT_PRODUCT_NAME AS PRODUCT
, 'V'!!RTRIM(CHAR(P.VERSION)) AS VERSION
, COALESCE(P.FEATURE_NAME, '') AS FEATURE
, SUM(PU.EVENT_CNT) AS EVENTS
, MAX(PU.PERIOD) AS LASTUSED
FROM OS11A1P.PRODUCT_INSTALL AS PI
JOIN OS11A1P.PRODUCT AS P ON P.SW_KEY = PI.SW_KEY
JOIN OS11A1P.SYSTEM AS S ON S.SYSTEM_KEY = PI.SYSTEM_KEY
JOIN OS11A1P.PRODUCT_USE AS PU ON PU.SW_KEY = PI.SW_KEY
AND PU.SYSTEM_KEY = PI.SYSTEM_KEY
LEFT OUTER JOIN OS11A1P.NODE AS N ON N.NODE_KEY = PU.HW_NODE_KEY
WHERE PI.UNINSTALL_DATE IS NULL
AND P.ALT_PRODUCT_NAME <> 'SCRT_ONLY'
AND P.SW_TYPE = 'FEATURE'
AND PU.PERIOD >= '2014-01-01'
GROUP BY P.VENDOR_NAME
, P.ALT_PRODUCT_NAME
, P.VERSION
, P.FEATURE_NAME, P.EID
UNION ALL
SELECT P.VENDOR_NAME AS VENDOR
, P.ALT_PRODUCT_NAME AS PRODUCT
, 'V'!!RTRIM(CHAR(P.VERSION)) AS VERSION
, COALESCE(P.FEATURE_NAME, '') AS FEATURE
, SUM(PU.EVENT_CNT) AS EVENTS
, MAX(PU.PERIOD) AS LASTUSED
FROM OS12A1P.PRODUCT_INSTALL AS PI
JOIN OS12A1P.PRODUCT AS P ON P.SW_KEY = PI.SW_KEY
JOIN OS12A1P.SYSTEM AS S ON S.SYSTEM_KEY = PI.SYSTEM_KEY
JOIN OS12A1P.PRODUCT_USE AS PU ON PU.SW_KEY = PI.SW_KEY
AND PU.SYSTEM_KEY = PI.SYSTEM_KEY
LEFT OUTER JOIN OS12A1P.NODE AS N ON N.NODE_KEY = PU.HW_NODE_KEY
WHERE PI.UNINSTALL_DATE IS NULL
AND P.ALT_PRODUCT_NAME <> 'SCRT_ONLY'
AND P.SW_TYPE = 'FEATURE'
AND PU.PERIOD >= '2014-01-01'
GROUP BY P.VENDOR_NAME
, P.ALT_PRODUCT_NAME
, P.VERSION
, P.FEATURE_NAME, P.EID
)
SELECT COUNT(*), BIGINT(SUM(EVENTS)) EVENTS
, VENDOR, PRODUCT, VERSION, FEATURE
, MAX(LASTUSED) LASTUSED
FROM U
GROUP BY VENDOR, PRODUCT, VERSION, FEATURE
ORDER BY UPPER(VENDOR)
, UPPER(PRODUCT)
, VERSION
, UPPER(FEATURE) -- , P.EID;