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 :

Aide sur chaîne SQL


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mai 2011
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2011
    Messages : 172
    Points : 88
    Points
    88
    Par défaut Aide sur chaîne SQL
    Bonjour Forum,

    J'ai fait une chaîne SQL qui fonctionne bien, mais il me manque une champs que j'aimerais aller chercher. Ce champs (schdate) se trouve dans la table 'rsscheduldtl'.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT q.qonbr, q.sonbralt, i.descr, i.itemID, QO.qtyordered AS TotalQtyOrdered, qo.qtyconv AS LongTotal, QO.linenbr  & _
                FROM Qohdr Q  & _
                    INNER JOIN QOdtl QO ON Q.qonbr = QO.qonbr  & _
                        INNER JOIN Items I ON QO.itemid = I.Itemid  & _
                WHERE Q.qonbr IN (SELECT Distinct sch.qonbr  & _
                                        FROM rsscheduledtl sch  & _
                                        WHERE prodid = 6  & _
                                            AND schdate > GETDATE())
    Je pourrais aller le chercher si ma requête était égale à ma sous-requête en y ajouter le champs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT Distinct sch.qonbr,MIN(sch.schdate) AS DateProd  & _
                                        FROM rsscheduledtl sch  & _
                                        WHERE prodid = 6  & _
                                            AND schdate > GETDATE())
    Mais je ne sais pas comment l'inclure dans ma requête principale pour que cela fonction, car selon ce que j'ai tester je ne peux pas Joindre la table rsscheduledtl.

    Je ne sais pas si je me suis bien exprimé, j'ai de la difficulter a trouver comment, mais j'essaie voir si vous avez bien compris, sinon je vais essayer de mieux vous l'expliquer.

    Merci d'avance

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 770
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 770
    Points : 52 723
    Points
    52 723
    Billets dans le blog
    5
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT q.qonbr, q.sonbralt, i.descr, i.itemID, QO.qtyordered AS TotalQtyOrdered, qo.qtyconv AS LongTotal, QO.linenbr,
           MIN(sch.schdate) AS DateProd 
    FROM   Qohdr Q  
           INNER JOIN QOdtl QO ON Q.qonbr = QO.qonbr 
           INNER JOIN Items I ON QO.itemid = I.Itemid  
           INNER JOIN rsscheduledtl sch ON Q.qonbr = sch.qonbr 
    WHERE  sch.prodid = 6 
           AND schschdate > GETDATE() 
    GROUP  BY q.qonbr, q.sonbralt, i.descr, i.itemID, QO.qtyordered, qo.qtyconv
    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre régulier
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mai 2011
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2011
    Messages : 172
    Points : 88
    Points
    88
    Par défaut
    Bonjour Forum

    Merci SQLPro, après quelques test ça semble fonctionner, à l’exception de la date, la requête me donne bien la plus petite date, mais il faudrait que ça soit la plus petite date liée au produit '6'.

    Pour explication:
    Si je comprend bien en ajoutant la liaision :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INNER JOIN rsscheduledtl sch ON Q.qonbr - sch.qonbr
    cela vient remplacer ma sous-requête?

    Merci!

  4. #4
    Membre chevronné
    Inscrit en
    Août 2009
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 1 073
    Points : 1 806
    Points
    1 806
    Par défaut
    Il y a déjà la restriction dans la requête sur prodid = 6, ce qui fait que la date retournée est bien la plus petite pour ce produit, avec la condition supplémentaire (présente au début) d'avoir la date > getdate.

    Peut-être souhaitez-vous avoir :
    - Les lignes telles qu'il existe au moins une date > getdate
    MAIS
    - La date minimum correspondant à prodid = 6, indépendamment de getdate ?

  5. #5
    Membre régulier
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mai 2011
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2011
    Messages : 172
    Points : 88
    Points
    88
    Par défaut
    Non Rei Ichido, finalement j'ai revérifié mes trucs et ça fonctionne bien, une inatention de ma part dsl...

    Merci à vous pour l'aide!!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Aide sur requete SQL
    Par rippoz dans le forum Langage SQL
    Réponses: 4
    Dernier message: 05/07/2007, 11h46
  2. [MS Query] neophyte demande aide sur jointures SQL
    Par thorgal972 dans le forum Langage SQL
    Réponses: 19
    Dernier message: 27/11/2006, 17h13
  3. [Oracle 9.2] Aide sur script SQL
    Par fmoriet dans le forum Langage SQL
    Réponses: 3
    Dernier message: 01/02/2006, 08h25
  4. aide sur requête sql
    Par Vodkha dans le forum Langage SQL
    Réponses: 9
    Dernier message: 30/08/2005, 17h53
  5. Aide sur Requête SQL
    Par devdev dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 11/05/2005, 12h33

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