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;