0
votes

Comment puis-je obtenir un résultat par ligne? J'ai déjà essayé avec distinct mais ça ne marche pas

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;


0 commentaires

3 Réponses :


0
votes

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


0 commentaires

0
votes

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;


0 commentaires

0
votes

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;


0 commentaires