Aide requête SQL
Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

Aide requête SQL



  1. #1
    fabien024

    Aide requête SQL


    ------

    Bonjour à tous,

    J'ai besoin de faire une requête dans laquelle j'obtiendrais la somme de deux champs de la même table.

    J'illustre mon propos :

    Code:
     
    
               ID_PERIODE      ID_CUVE        DATE         VOLUME
               1359            2              13/10         1000
               1359            3              13/10         2000
               1359            4              13/10         3000
               1360            2              14/10         1500
               1360            3              14/10         2500          
               1360            4              14/10         3500
    Et je voudrais avoir une colonne en plus que je nommerais somme et qui serait la somme des volumes de la période 1359 et de la periode 1360 pour chaque cuve à la date la plus récente.

    Ce qui donne :

    Code:
     
    
               ID_PERIODE      ID_CUVE        DATE         VOLUME
               1360            2              14/10         2500
               1360            3              14/10         4500          
               1360            4              14/10         6500
    Merci de votre aide, j'ai vraiment du mal vu que les valeurs à extraire sont issues d'une même table et d'une même colonne.

    -----

  2. #2
    Bluedeep

    Re : Aide requête SQL

    Bonjour

    Ta demande n'est pas clair : tu parles de la somme de deux colonne alors qu'il semble que tu veuilles sommer pour des lignes ? (tu parles de "champs" mais c'est une notion totalement étrangère aux bases, où il n'y a que des colonnes et des lignes).

    Cela ne pose pas trop de difficultés ni un cas ni l'autre (avec les fonctions d'agrégat statistique si c'est une somme ligne) mais peux tu poster le DDL des tables et préciser ce que tu veux exactement ?
    Dernière modification par Bluedeep ; 13/10/2014 à 10h02.

  3. #3
    Bluedeep

    Re : Aide requête SQL

    A priori, la requête serait quelque chose comme

    Code:
    select max(ID_PERIODE), ID_CUVE, sum(volume) from theTable group by id_cuve order by id_periode asc
    mais avec le DDL on pourrait tester la réponse avant de la poster.

  4. #4
    Bluedeep

    Re : Aide requête SQL

    Sous réserve que le DDL de la table soit plus ou moins :

    Code:
    CREATE TABLE [dbo].[Test](
    	[ID_PERIOD] [int] NULL,
    	[ID_CUVE] [int] NULL,
    	[VOLUME] [int] NULL,
    	[Date] [datetime] NULL
    ) ON [PRIMARY]
    La requête suivante fournie le résultat demandé (à peu près, voir nom de colonne et formattage de date) :
    Code:
    select max(ID_PERIOD) as Period_Max,	
    		ID_CUVE, 
                    max([date]) as Date_Max, 
    		sum(volume) as Total_Volume 
    			from test 
    				group by id_cuve  
    				order by period_max asc
    Accessoirement la présence de ID_PERIOD qui semble lié 1-1 à DATE constitue une violation de forme normale : un minimum de bonne pratique voudrait qu'une table attribuant la date à chaque ID_PERIOD soit ajoutée.
    Dernière modification par Bluedeep ; 13/10/2014 à 10h27.

  5. A voir en vidéo sur Futura

Discussions similaires

  1. Aide Requête SQL
    Par fabien024 dans le forum Programmation et langages, Algorithmique
    Réponses: 8
    Dernier message: 25/08/2014, 23h12
  2. Aide requete SQL
    Par h.thierry dans le forum Programmation et langages, Algorithmique
    Réponses: 2
    Dernier message: 03/04/2013, 15h47
  3. Besoin d'aide requete SQL
    Par MANTA.. dans le forum Programmation et langages, Algorithmique
    Réponses: 4
    Dernier message: 20/10/2012, 14h01
  4. [Divers] requete
    Par enebre dans le forum Dépannage
    Réponses: 0
    Dernier message: 25/01/2008, 20h58
  5. Requete SQL
    Par invite4a3050ae dans le forum Internet - Réseau - Sécurité générale
    Réponses: 6
    Dernier message: 14/05/2004, 12h57