J'ai déjà eu une vue avec ce nom et ça fonctionne bien pour le moment. Quoi qu'il en soit, j'ai besoin de plus de filtres ...
J'ai déjà essayé avec distinct mais cela n'affecte pas les résultats. P>
SELECT DISTINCT COD_COMPLESSO, NOME_COMPLESSO, ID_BM, NOME_BM, ID_FORNITORE, NOME_FORNITORE, ANNO, MESE, DATE_REQUEST, SUM(rqm.aperto) AS num_aperto, SUM(rqm.in_corso) AS num_in_corso, SUM(rqm.chiuso) AS num_chiuso FROM ( SELECT COD_COMPLESSO, NOME_COMPLESSO, ID_BM, NOME_BM, ID_FORNITORE, NOME_FORNITORE, ANNO, MESE, DATE_REQUEST, (CASE WHEN COD_STATUS_CON = 'OPN' THEN 1 ELSE 0 END) AS aperto, (CASE WHEN COD_STATUS_CON = 'ONG' THEN 1 ELSE 0 END) AS in_corso, (CASE WHEN COD_STATUS_CON = 'CLO' THEN 1 ELSE 0 END) AS chiuso FROM V_RQM_REQUEST_BM) rqm GROUP BY NOME_COMPLESSO, COD_COMPLESSO, MESE, ANNO, ID_BM, NOME_BM, ID_FORNITORE, NOME_FORNITORE, DATE_REQUEST;
3 Réponses :
Vous obtenez une ligne pour chaque distinct de votre groupe. Si vous vérifiez chacune de vos lignes N, vous trouverez une valeur différente dans l'une de ces colonnes dans chacune des lignes.
GROUP BY COD_COMPLESSO
Vraisemblablement, vous voulez quelque chose comme ceci:
SELECT COD_COMPLESSO, NOME_COMPLESSO, SUM(CASE WHEN COD_STATUS_CON = 'OPN' THEN 1 ELSE 0 END) AS aperto, SUM(CASE WHEN COD_STATUS_CON = 'ONG' THEN 1 ELSE 0 END) AS in_corso, SUM(CASE WHEN COD_STATUS_CON = 'CLO' THEN 1 ELSE 0 END) AS chiuso FROM V_RQM_REQUEST_BM rqm GROUP BY NOME_COMPLESSO, COD_COMPLESSO;
Merci à tous pour vos réponses. Maintenant je traite avec ceci:
SELECT DISTINCT COD_COMPLESSO, NOME_COMPLESSO, SUM(rqm.aperto) AS num_aperto, SUM(rqm.in_corso) AS num_in_corso, SUM(rqm.chiuso) AS num_chiuso FROM ( SELECT COD_COMPLESSO, NOME_COMPLESSO, ID_BM, NOME_BM, ID_FORNITORE, NOME_FORNITORE, ANNO, MESE, DATE_REQUEST, (CASE WHEN COD_STATUS_CON = 'OPN' THEN 1 ELSE 0 END) AS aperto, (CASE WHEN COD_STATUS_CON = 'ONG' THEN 1 ELSE 0 END) AS in_corso, (CASE WHEN COD_STATUS_CON = 'CLO' THEN 1 ELSE 0 END) AS chiuso FROM V_RQM_REQUEST_BM WHERE COD_COMPLESSO IS NOT NULL AND ID_BM IS NOT NULL AND ID_FORNITORE IS NOT NULL) rqm GROUP BY COD_COMPLESSO, NOME_COMPLESSO, MESE, ANNO, ID_BM, NOME_BM, ID_FORNITORE, NOME_FORNITORE, DATE_REQUEST ORDER BY DATE_REQUEST;