IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

Faire une addition de colonnes (alias) [Débutant(e)]


Sujet :

Langage SQL

  1. #21
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Ok,

    J'ai donc fais quelque corrections, ça fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SELECT COALESCE(ANNEE_REF, 'Totaux globaux') AS Année
        , COALESCE(log.NOMBRE_PIECE, 'Total') AS Pièces
    	, COUNT(log.NOMBRE_PIECE) AS Nombre  
    FROM (SELECT DISTINCT EXTRACT(YEAR FROM DATE) AS ANNEE_REF FROM ipc) AS cal
    CROSS JOIN immeuble AS imm
    INNER JOIN logement AS log
    ON log.IMMEUBLE_ID_FK = imm.ID
        AND cal.ANNEE_REF >= EXTRACT(YEAR FROM log.DATE_DEBUT)
        AND (cal.ANNEE_REF <= EXTRACT(YEAR FROM log.DATE_FIN)-1 OR log.DATE_FIN IS NULL)
    WHERE imm.TYPE_STATUT_IMMEUBLE_ID_FK >= 3
        AND log.NOMBRE_PIECE BETWEEN 1 AND 5
    GROUP BY cal.ANNEE_REF ASC, log.NOMBRE_PIECE WITH ROLLUP;
    Je pense encore supprimer la ligne 11 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AND log.NOMBRE_PIECE BETWEEN 1 AND 5
    qui n'a plus son utilité dans ce cas, je pense ?

    Sinon, ce n'est pas exactement le résultat que je recherche, mais c'est très intéressant comme présentation de données.

    J'en aurais peut-être besoin dans un autre contexte, je me garde précieusement cette requête comme exemple.

    Merci.

  2. #22
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Août 2013
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2013
    Messages : 15
    Points : 18
    Points
    18
    Par défaut
    Tout dépend de comment est faite ta table. Si la seule possibilité (sémantique), c'est que le nombre de pièces soit 1, 2, 3, 4 ou 5, elle n'est en effet d'aucune utilité.
    Si tu veux toujours toutes les pièces, tu peux également enlever le WHERE.

    Ok pour le reste

    A+

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Peut-on faire une totalisation par colonne avec SQL ?
    Par lodan dans le forum Langage SQL
    Réponses: 19
    Dernier message: 02/03/2007, 16h44
  2. faire une somme de colonnes ?
    Par viny dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 08/09/2006, 15h49
  3. Faire une addition, mais à l'horizontal
    Par deejay2221 dans le forum Access
    Réponses: 4
    Dernier message: 10/06/2006, 08h56
  4. Requête pour faire une addition sur autres requêtes
    Par guenfood dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 06/06/2006, 18h35
  5. Faire une addition en asp
    Par PrinceMaster77 dans le forum ASP
    Réponses: 9
    Dernier message: 29/11/2004, 15h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo