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 :

sous requete SQL


Sujet :

Langage SQL

  1. #41
    Invité
    Invité(e)
    Par défaut
    La table paramètre est constituée d'une seule ligne qui est remplie par la table chantier. en fait on interroge la table paramètre pour chaque ligne si c'est bien ce que tu ve savoir. a chaque fois la ligne est écrasée. Si il y avé plusieurs lignes il y aurait autant de traitement pour une case que de ligne dans paramètre.

    Ainsi la table chantier est constante mais paramètre varie sans arret. C'est donc a un instant n que routes dans la table paramètre est égal à routes dans chantier car c'est la table chantier qui rempli la table paramètre.

    Pour ce qui est de inf3 et inf5 les cases sont mises a jour par les 2 requetes. Cela se comporte de la meme manière au niveau du fonctionnement: inf3 et inf5 dans paramètres seront remplis par le biais de inf3 et inf5 de la table chantier. Cependant ils n'ont pas le même rôle dans le résultat de la requete. Ces 2 champs ont un rôle de filtre: ils précisent le résultat de la requete normale. C'est pour ça qu'on ne peux pas l'écrire comme les autres références .
    J'espère que j'ai répondu à la question

  2. #42
    Invité
    Invité(e)
    Par défaut
    j'attend avec beaucoup d'impatience d'autres solutions car ce problème me bloque vraiment

  3. #43
    Membre confirmé
    Avatar de Mindiell
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    735
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 735
    Points : 546
    Points
    546
    Par défaut
    Petite question : a quoi sert la table paramètres si elle ne possède qu'une ligne et qu'elle est modifiée tout le temps ?
    Les paramètres de la table chantier ne sont-ils pas suffisants ?

  4. #44
    Invité
    Invité(e)
    Par défaut
    Un ami m'a dit de procéder comme ça car apparemment ce n'est pas possible de procéder autrement...je n'ai pas tellement compris pourquoi. je pense que c'est le seul moyen de faire le lien avec les cases à cocher de la table

  5. #45
    Membre expérimenté

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Points : 1 578
    Points
    1 578
    Par défaut
    Après réflexion et mise en forme, j'essayerais çà (fais un simple copier-coller stp) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SELECT CHANTIER.chantier, CHANTIER.MaitreOuvrage, CHANTIER.MaitreOeuvre, CHANTIER.TTC, CHANTIER.Annees
    FROM CHANTIER, PARAMETRE
     
    WHERE ((CHANTIER.Routes          =[PARAMETRE].[Routes]          AND PARAMETRE.Routes          =-1) 
    OR     (CHANTIER.Villes          =[PARAMETRE].[Villes]          AND PARAMETRE.Villes)         =-1) 
    OR     (CHANTIER.Industrie       =[PARAMETRE].[Industrie]       AND PARAMETRE.Industrie)      =-1) 
    OR     (CHANTIER.Promoteur       =[PARAMETRE].[Promoteur]       AND PARAMETRE.Promoteur)      =-1) 
    OR     (CHANTIER.Habitats        =[PARAMETRE].[Habitats]        AND PARAMETRE.Habitats)       =-1) 
    OR     (CHANTIER.Plantation      =[PARAMETRE].[Plantation]      AND PARAMETRE.Plantation)     =-1) 
    OR     (CHANTIER.PlantationBerge =[PARAMETRE].[PlantationBerge] AND PARAMETRE.PlantationBerge =-1)
     
    AND   ((CHANTIER.inf3            =[PARAMETRE].[inf3]            AND PARAMETRE.inf3             =-1) 
    OR     (CHANTIER.inf5            =[PARAMETRE].[inf5]            AND PARAMETRE.inf5             =-1))));
    Mais, entre [PARAMETRE] et PARAMETRE, on a vite fait de se planter ou alors j'ai rien compris !!

  6. #46
    Invité
    Invité(e)
    Par défaut
    ça ne change rien. En fait les crochets c'est la syntaxe de Access, il les met pour que l'on se repère, mais au niveau de la syntaxe sql ça ne change pas

  7. #47
    Invité
    Invité(e)
    Par défaut
    Voici ce que l'on m'a proposé:

    Bonjour,

    En supposant que la table PARAMETRE contient un seul enregistrement, correspondant aux cases à cocher du formulaire,
    que CHANTIER.Annees est un nombre d'années,
    voila comment je ferai :

    Code :

    WHERE ( (((CHANTIER.Routes)=[PARAMETRE].[Routes]) AND ((PARAMETRE.Routes)=-1)) OR ... OR (((CHANTIER.artificiel)=[PARAMETRE].[artificiel]) AND ((PARAMETRE.artificiel)=-1) ) AND ( (IIF([PARAMETRE].Inf3=True, CHANTIER.Annees<3, True) = True) AND (IIF([PARAMETRE].Inf5=True, CHANTIER.Annees<5, True) = True) )

    En espèrant que ça fonctionne.
    A+


    Je l'ai testé, mais rien ne se passe. Je n'ai pas d'erreur mais on dirait que les lignes rajoutés ne servent a rien. Dois je faire quelque chose à coté?

  8. #48
    Invité
    Invité(e)
    Par défaut
    toujours pas d'idée?

  9. #49
    Invité
    Invité(e)
    Par défaut
    ajouter le traitement des 2 cases en sous requete ne serait-il pas la solution à mon problème? si oui, comment écrire cette sous requete?

Discussions similaires

  1. Sous - sous - requete SQL
    Par janjannaj dans le forum Bases de données
    Réponses: 1
    Dernier message: 19/04/2011, 09h21
  2. Sous requetes SQL
    Par Invité dans le forum Requêtes
    Réponses: 3
    Dernier message: 02/09/2009, 20h22
  3. sous requete SQL
    Par onet dans le forum Langage SQL
    Réponses: 7
    Dernier message: 06/05/2009, 11h21
  4. Plusieurs sauvegardes d'une sous-requete SQL
    Par at_first dans le forum Requêtes et SQL.
    Réponses: 16
    Dernier message: 04/12/2006, 18h52
  5. Sous-requetes SQL Oracle MsQUERY
    Par CHRISTOPHE_86 dans le forum Oracle
    Réponses: 1
    Dernier message: 11/09/2006, 21h45

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