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

Bases de données Delphi Discussion :

requête sql complexe


Sujet :

Bases de données Delphi

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juin 2008
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 46
    Points : 32
    Points
    32
    Par défaut requête sql complexe
    Bonjour tout le monde,je bute sur une requette sql a définir. j'ai une table :
    Vente ( id_vente, date_vente, qtte_vendue, type_destinataire, id_client, id_revendeur), la table enregistre les quantités vendues d'un article a chaque vente d'article, s"il s'agit d'un client publique alors son id_CLIENT est saisi sinon s'il s'agit d'un revendeur le champ id_revendeur est saisi.
    je veux avec cette requette retourné sur un même etat, les ventes enregistrées groupées par date, et retourne les valeurs des champs suivants:

    Date_vente, total_qtte_vendue, total_qtte_restante, total_vendu_aux_client, total_vendu_aux_revendeurs, Vendu_revendeur1, Vendu_revendeur2,.., vendu_revendeurN.

    a savoir le nombre des revendeurs peut varier, les clients ne sont pas détaillés.
    merci mes amis de m'aiclairer sur la piste a suivre pour arriver à un résultat

  2. #2
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut
    A mon humble avis, il n'y a pas de SQL qui te permet de faire cela.
    Actuellement, je suis sur un truc à peu près pareil : par ex sortir des stat mensuel des article en fonction de plusieurs critères.
    Et j'ai du travailler avec des Dataset mémoire pour faire les calcul.
    Mais je trouve que c'est quand même assez rapide.
    On progresse .....

  3. #3
    Membre éprouvé Avatar de BuzzLeclaire
    Homme Profil pro
    Dev/For/Vte/Ass
    Inscrit en
    Août 2008
    Messages
    1 606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dev/For/Vte/Ass

    Informations forums :
    Inscription : Août 2008
    Messages : 1 606
    Points : 1 113
    Points
    1 113
    Par défaut
    Salut,

    TU n'inqiue pas quel base tu utilise et si tu fas cela avec ADO.

    Sinon pour commencer est-ce que tu connais la clause Group By qui devrait te convenir.

  4. #4
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut
    En effet bonne question Buzz.
    La demande est :
    Date_vente, total_qtte_vendue, total_qtte_restante, total_vendu_aux_client, total_vendu_aux_revendeurs, Vendu_revendeur1, Vendu_revendeur2,.., vendu_revendeurN.
    Or déjà, on ne peut pas imaginer le nombre de revendeur à l'avance.
    Si la demande a été de sortir
    Date_vente, total_qtte_vendue, total_qtte_restante, total_vendu_aux_client, total_vendu_aux_revendeurs
    Ceci aurais pu être sorti grace aux groupages et Case.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Select
      date_vente, 
      SUM(qtte_vendue) as TOT_VENTE,
      SUM(CASE WHEN Id_client Not is Null THEN qtte_vendue END) as total_vendu_aux_client,
      SUM(CASE WHEN Id_revendeur Not is Null THEN qtte_vendue END) as total_vendu_aux_revendeurs
    from Vente  
    group by 
      date_vente,
      id_client,
      id_revendeur
    Faut essayer mais ce serait comme ça que je l'aurais fait.
    On progresse .....

  5. #5
    Membre éprouvé Avatar de BuzzLeclaire
    Homme Profil pro
    Dev/For/Vte/Ass
    Inscrit en
    Août 2008
    Messages
    1 606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dev/For/Vte/Ass

    Informations forums :
    Inscription : Août 2008
    Messages : 1 606
    Points : 1 113
    Points
    1 113
    Par défaut
    Re,

    Ok mais là, tu aura un chiffre CA par jour au même heure tout dépend du format de la date.

    Si il cherche par mois il faut utiliser dans la clause SELECT et dans la Clause Group By
    Format(<Champ date>,"MM") par mois

    etc..

  6. #6
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut
    C'est vrai que tous dépend du SGBD et du format de date.
    Mais ça on ne le sait pas en plus il a inclu date_vente dans le résultat donc à mon avis, il veut le CA journalier.
    On progresse .....

  7. #7
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 419
    Points : 5 818
    Points
    5 818
    Par défaut
    salut

    si j'ai bien compris il veut inverser l'ordre d'affichage

    j'ai déjà répondu a ce genre de demande voir ici

    tout ceci dépend bien sur du sgbd qui se trouve derrière

    @+ Phil
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  8. #8
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 038
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 038
    Points : 40 943
    Points
    40 943
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par BuzzLeclaire Voir le message
    TU n'indique pas quel base tu utilises
    +1 , si sous Firebird 2.1 j'aurais une solution mais sans indication ....
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  9. #9
    Nouveau membre du Club
    Inscrit en
    Juin 2008
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 46
    Points : 32
    Points
    32
    Par défaut
    Effectivement j'inclue Date_vente pour avoir les quantités vendues d'une manière journalière, je suis sur delphi 7 / SQL SERVER 2000 et Date_Vente est de type DATE.

Discussions similaires

  1. requête sql complexe
    Par julien_d dans le forum SQL
    Réponses: 7
    Dernier message: 01/05/2007, 17h03
  2. Requète SQL complexe
    Par NicoNGRI dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 01/08/2006, 10h10
  3. Requête sql complexe
    Par new_wave dans le forum Langage SQL
    Réponses: 1
    Dernier message: 03/01/2006, 11h55
  4. Requête SQL Complexe
    Par zut94 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 25/11/2005, 20h53
  5. Requête SQL complexe. Comment faire ....
    Par BilTCD dans le forum Langage SQL
    Réponses: 4
    Dernier message: 05/11/2004, 16h18

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