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 :

requete complexe


Sujet :

Langage SQL

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 34
    Points : 32
    Points
    32
    Par défaut requete complexe
    bonjour je vais vous exposer mon pb :


    j'ai une table test_spec

    avec 2 champs: date_spec de type date
    spec de type string

    avec 2 enregistrements: 10-10-2004 spec1
    01-10-2004 spec2

    j'ai une 2e table test_mes

    avec 2 champs aussi : date_mes de type date
    mes de type int

    avec 2 enregistrements : 02-10-2004 45
    15-10-2004 55

    j'aimerai obtenir un resultat de requete suivant

    45 spec2
    55 spec1

    ou en fait tout est basé sur la date ou date_mes doit etre superieur a date_spec et date_spec et la date_spec(correspondant a la bonne spec) doit etre la plus grande possible

  2. #2
    Membre habitué Avatar de nantais
    Inscrit en
    Juillet 2004
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 158
    Points : 192
    Points
    192
    Par défaut
    basé sur ce que tu dis ca fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SELECT date_mes, spec
    FROM test_mes a, test_spec b
    WHERE date_mes>date_spec
    AND date_spec = (SELECT max(date_spec)
                                FROM test_spec c
                                WHERE c.spec=b.spec));
    mais on obtient :

    55 spec1
    45 spec2
    55 spec2

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 34
    Points : 32
    Points
    32
    Par défaut
    oui j'avais deja fait cette requete mais en fait je ne veux pas la 3e ligne.

    je me demande de plus en plus si c possible...

  4. #4
    Membre confirmé
    Avatar de Higgins
    Inscrit en
    Juillet 2002
    Messages
    520
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 520
    Points : 543
    Points
    543
    Par défaut
    Pourquoi tu ne veux pas la 3ème ligne
    7 fois à terre, 8 fois debout

  5. #5
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Bonjour,

    La 3° ligne répond pourtant avec votre condition :
    Citation Envoyé par Thunder_nico
    date_mes doit etre superieur a date_spec et date_spec et la date_spec(correspondant a la bonne spec) doit etre la plus grande possible
    Si vous ne voulez pas cette troisième ligne, il faudrait reformuler votre besoin.

    N.

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 34
    Points : 32
    Points
    32
    Par défaut
    desole j'ai peut etre par tres bien formulé mon besoin

    en gros je ne veux qu'une seule 'spec' par 'mes' avec la condition
    suivante :

    la date_spec est la premiere inferieur a date_mes

    j'espere avoir ete un peu plus clair merci pour votre aide qd meme

    le but est d'eviter de me retrouver avec 50000 enregistrement au lieu de 3000 interessant au traitement.

  7. #7
    Membre habitué Avatar de nantais
    Inscrit en
    Juillet 2004
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 158
    Points : 192
    Points
    192
    Par défaut
    Alors dans ce cas ca done ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    SELECT mes, spec 
    FROM test_mes a, test_spec b 
    WHERE date_spec = (SELECT max(d.date_spec) 
                                    FROM test_spec d
                                    WHERE d.date_spec<date_mes)
    AND date_spec = (SELECT max(date_spec) 
                                FROM test_spec c 
                                WHERE c.spec=b.spec);
    attention donc de bien formuler les spécifs.....

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 34
    Points : 32
    Points
    32
    Par défaut
    merci je vais essayer

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 34
    Points : 32
    Points
    32
    Par défaut
    merci bcp c exactement ca

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

Discussions similaires

  1. [SQL2] Requête complexe
    Par benwit dans le forum Langage SQL
    Réponses: 3
    Dernier message: 08/05/2006, 19h52
  2. Aide requete complexe
    Par Sabine78 dans le forum Access
    Réponses: 9
    Dernier message: 18/04/2006, 21h28
  3. requete complexe
    Par nicohugo dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 30/03/2006, 08h10
  4. Requete complexe
    Par d1g-2-d1g dans le forum Langage SQL
    Réponses: 9
    Dernier message: 02/05/2005, 14h47
  5. Requete complexe
    Par Pfeffer dans le forum Langage SQL
    Réponses: 3
    Dernier message: 18/02/2005, 17h42

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