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

Développement SQL Server Discussion :

Problème requête select [Débutant(e)]


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2015
    Messages : 11
    Par défaut Problème requête select
    Bonjour à tous,

    Impossible de trouver la requete à effectuer ..
    Pour mon exemple on va imaginer que j'ai une table 'A' avec 2 colonnes, revenue et date.

    j'ai une picklist avec des dates au format ' 2016 / 06'

    j'aimerai que quand le user sélectionne une date, avoir comme réponse les revenues depuis le premier mois de l'année sélectionnée dans la picklist.
    donc le cumul des revenues entre 2016 / 01 et 2016 / 06.

    je continue de chercher mais je suis preneur si vous avez une réponse.

    J'espère être clair et merci d'avance pour vos réponses

  2. #2
    Membre chevronné
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Décembre 2007
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Décembre 2007
    Messages : 327
    Par défaut
    Bonjour,

    Peux t'on avoir la "vrai" structure des tables ?

    De ce que je comprend il faut faire une agrégation avec une somme.

    exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT sum(revenue)
    FROM MA TABLE 
    WHERE Date between 01/01/2016 and 22/02/2016
    Après si vous voulez faire la même chose par employé il faut faire la requete suivante.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT sum(revenue),employé
    FROM MA TABLE 
    WHERE Date between '01/01/2016' and '22/02/2016'
    GROUP BY employe
    bon courage

  3. #3
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2015
    Messages : 11
    Par défaut
    En fait, j'ai une table avec deux colonnes : date et revenue

    Dans l'application j'ai une picklist qui lance la requête quand une valeur est sélectionnée
    le format de valeur est '2016 / 02'

    Je suis obligé de laisser le "Time"."Month" saw_0 afin d'avoir la picklist mais le revenue est celui d'associé dans la table et j'aimerai moi qui calcul depuis le premier mois de l'année sélectionnée. J'ai essayé de mettre SUM mais cela ne change rien...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT "Time"."Month" saw_0, "Pipeline Detail Facts"."Opportunity Line Revenue" saw_1 
    FROM "Sales - CRM Pipeline" 
    WHERE ("Territory"."Territory" = 'VALUE') 
    AND ("Opportunity"."Status Code" = 'WON')

  4. #4
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    Chaque chose en son temps : commencez par la requête

    Supposons la table suivante, avec ses données :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    USE ELSUKET
    GO
     
    CREATE TABLE dbo.revenue
    (
    	revenue_date datetime NOT NULL
    	, revenue_amount decimal(12,2) NOT NULL
    )
    GO
     
    INSERT INTO dbo.revenue
    (
    	revenue_date
    	, revenue_amount
    )
    SELECT	DATEADD(minute, 1, DATEADD(month, number, '20140101'))
    	, (ABS(CHECKSUM(NEWID())) % 10000000)
    FROM	master.dbo.spt_values
    WHERE	type = 'P'
    AND	number < DATEDIFF(month, '20140101', '20160201')
    L'expression de la requête est alors, pour l'année 2015 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    -- Déclaration de la variable, et affectation
    DECLARE @annee smallint = 2015
     
    SELECT	YEAR(revenue_date) AS revenue_year -- extraction de l'année sur l'ensemble des dates filtré
    	, SUM(revenue_amount) AS total_revenue -- Agrégat de la somme des revenus
    FROM	dbo.revenue
    WHERE	revenue_date BETWEEN CAST(CAST(@annee AS char(4)) + '0101' AS datetime) -- Transforme @annee en une chaine de longueur fixe, et concatène ensuite 0101, de façon a créer une expression de date au format ISO. Transtype ensuite au type datetime
    		AND CAST(CAST(@annee + 1 AS char(4)) + '0101' AS datetime)
    GROUP	BY YEAR(revenue_date) -- Génération des groupes
    Quelle méthode .NET utilisez-vous pour exécuter la requête ?

    Pour (presque) tout savoir sur SQL Server, des bases de SQL et T-SQL, au développement et à l'administration de bases de données, je vous invite à lire le livre référencé dans ma signature );

    @++

Discussions similaires

  1. Problème requête SELECT condition WHERE string
    Par Glherbier dans le forum VBA Access
    Réponses: 3
    Dernier message: 27/10/2010, 18h43
  2. SQL Problème requête SELECT
    Par Seth_75 dans le forum Développement
    Réponses: 2
    Dernier message: 30/03/2009, 15h02
  3. Problème requête SELECT ORACLE
    Par vizlebiz dans le forum Langage SQL
    Réponses: 4
    Dernier message: 28/02/2008, 16h20
  4. Problème Requête SELECT sur champ texte
    Par arnaud_verlaine dans le forum WinDev
    Réponses: 5
    Dernier message: 02/10/2007, 21h19
  5. [SQL] Problème requête SELECT
    Par dolf13 dans le forum PHP & Base de données
    Réponses: 21
    Dernier message: 04/07/2006, 23h54

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