1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| /* SURPLUS Comp.KIND!=12 */
SELECT Cont.NAME AS Nom
,Cont.FIRSTNAME AS Prenom
,ContComp.Nb AS Companies
,ContCont.Nb AS Contacts
,ContDocu.Nb AS Documents
,ContActi.Nb AS Actions
,ContPubl.Nb AS Publications
,ContOppo.Nb AS Opportunities
,ContMail.Nb AS Mails
,ContProd.Nb AS Products
,ContProj.Nb AS Projects
,ContProf.Nb AS Profiles
,ContTmpl.Nb AS Templates
FROM CONTACTS Cont
LEFT JOIN (
SELECT K_CONTACT, Comp.KIND, COUNT(*) AS Nb
FROM CONT_COMP
INNER JOIN COMPANIES Comp ON CONT_COMP.K_COMPANY=Comp.K_COMPANY
GROUP BY K_CONTACT, Comp.KIND
) ContComp ON (ContComp.K_CONTACT=Cont.K_CONTACT AND KIND=12)
LEFT JOIN (SELECT K_CONTACT, COUNT(*) AS Nb FROM CONT_CONT GROUP BY K_CONTACT) ContCont ON ContCont.K_CONTACT=Cont.K_CONTACT
LEFT JOIN (SELECT K_CONTACT, COUNT(*) AS Nb FROM DOCU_CONT GROUP BY K_CONTACT) ContDocu ON ContDocu.K_CONTACT=Cont.K_CONTACT
LEFT JOIN (SELECT K_CONTACT, COUNT(*) AS Nb FROM ACTI_CONT GROUP BY K_CONTACT) ContActi ON ContActi.K_CONTACT=Cont.K_CONTACT
LEFT JOIN (SELECT K_CONTACT, COUNT(*) AS Nb FROM PUBL_CONT GROUP BY K_CONTACT) ContPubl ON ContPubl.K_CONTACT=Cont.K_CONTACT
LEFT JOIN (SELECT K_CONTACT, COUNT(*) AS Nb FROM OPPO_CONT GROUP BY K_CONTACT) ContOppo ON ContOppo.K_CONTACT=Cont.K_CONTACT
LEFT JOIN (SELECT K_CONTACT, COUNT(*) AS Nb FROM MAIL_CONT GROUP BY K_CONTACT) ContMail ON ContMail.K_CONTACT=Cont.K_CONTACT
LEFT JOIN (SELECT K_CONTACT, COUNT(*) AS Nb FROM PROD_CONT GROUP BY K_CONTACT) ContProd ON ContProd.K_CONTACT=Cont.K_CONTACT
LEFT JOIN (SELECT K_CONTACT, COUNT(*) AS Nb FROM PROJ_CONT GROUP BY K_CONTACT) ContProj ON ContProj.K_CONTACT=Cont.K_CONTACT
LEFT JOIN (SELECT K_CONTACT, COUNT(*) AS Nb FROM PROF_CONT GROUP BY K_CONTACT) ContProf ON ContProf.K_CONTACT=Cont.K_CONTACT
LEFT JOIN (SELECT K_CONTACT, COUNT(*) AS Nb FROM TMPL_CONT GROUP BY K_CONTACT) ContTmpl ON ContTmpl.K_CONTACT=Cont.K_CONTACT
ORDER BY ContComp.Nb, Cont.NAME, Cont.FIRSTNAME |
Partager