J'utilise SQL Server 2005.SQL - Comment simplifier cette requête facile?
Comment refactoriser cette requête?
SELECT Total, Installs, Service, tot.ls_chg_dte_ojb
FROM (SELECT COUNT(*) [Total], ls_chg_dte_ojb
FROM [COMPL_INST_SVC]
GROUP BY ls_chg_dte_ojb) tot
JOIN (SELECT COUNT(*) [Service], ls_chg_dte_ojb
FROM [COMPL_INST_SVC]
WHERE job_class_ojb = 'S'
GROUP BY ls_chg_dte_ojb) svc on svc.ls_chg_dte_ojb = tot.ls_chg_dte_ojb
JOIN (SELECT COUNT(*) [Installs], ls_chg_dte_ojb
FROM [COMPL_INST_SVC]
WHERE job_class_ojb in ('C', 'R')
GROUP BY ls_chg_dte_ojb) ins on ins.ls_chg_dte_ojb = tot.ls_chg_dte_ojb
Est-ce même correct? Pourquoi le total n'inclut-il que les valeurs où job_class_obj = 'S'? –
Quelle est la différence supposée entre le premier select interne ('total') et le second ('service')? – deutschZuid
Comme je l'ai mentionné dans un commentaire ci-dessous, vous ne devriez pas utiliser des guillemets simples pour délimiter les alias - cette syntaxe est en train d'être dépréciée. Utilisez [crochets], "guillemets doubles" ou pas de délimiteurs. –