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

Requêtes et SQL. Discussion :

Requête UNION et paramètres [AC-2007]


Sujet :

Requêtes et SQL.

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 300
    Points : 106
    Points
    106
    Par défaut Requête UNION et paramètres
    Bonjour,

    Avec cette requête UNION comment extraire les enregistrements correspondent à "lait"

    On pourrait les sélectionner avant mais dans mon cas je préfère les sélectionner à ce niveau.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT[Boucle],[Utilise],[Premier vêlage],[Date_Naiss],[CATEGORIE],[EntreeLe]
    FROM [I_Déclarée_Vache]
    UNION SELECT[Boucle],[Utilise],[Première saillie],[Date_Naiss],[CATEGORIE],[EntreeLe]
    FROM [I_Déclaré_Taureau]
    UNION SELECT[Boucle],[Utilise],[DateRepro],[Date_Naiss],[CATEGORIE],[EntreeLe]
    FROM [I_Mâles]
    UNION SELECT[Boucle],[Utilise],[DateRepro],[Date_Naiss],[CATEGORIE],[EntreeLe]
    FROM [I_Génisse]
    ORDER BY 1;
    WHERE utilise IN ('lait')

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE utilise IN ('lait')
    je pense que je ne suis pas loin mais !

    Merci

  2. #2
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 777
    Points : 58 179
    Points
    58 179
    Billets dans le blog
    42
    Par défaut
    bonjour,

    je dirais qu'il faut, soit répéter autant de fois le WHERE qu'il y a de SELECT, soit imbriquer:

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT T.* FROM
    (
       SELECT ... FROM...
         UNION
       SELECT ... FROM...
       ...
    ) as T
     
    WHERE T.[utilise] like "lait";

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 300
    Points : 106
    Points
    106
    Par défaut
    Merci pour votre réponse, mais je dois vous avouez que je ne comprend pas.

    Pourriez-vous me donner un exemple s'il vous plait ?

    Merci.

  4. #4
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 777
    Points : 58 179
    Points
    58 179
    Billets dans le blog
    42
    Par défaut
    Comme ça:

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    SELECT T.* FROM
    (
    SELECT[Boucle],[Utilise],[Premier vêlage],[Date_Naiss],[CATEGORIE],[EntreeLe]
    FROM [I_Déclarée_Vache]
    UNION SELECT[Boucle],[Utilise],[Première saillie],[Date_Naiss],[CATEGORIE],[EntreeLe]
    FROM [I_Déclaré_Taureau]
    UNION SELECT[Boucle],[Utilise],[DateRepro],[Date_Naiss],[CATEGORIE],[EntreeLe]
    FROM [I_Mâles]
    UNION SELECT[Boucle],[Utilise],[DateRepro],[Date_Naiss],[CATEGORIE],[EntreeLe]
    FROM [I_Génisse]
    ) AS T
     
    WHERE T.[utilise] LIKE "lait"
    ORDER BY 1;

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 300
    Points : 106
    Points
    106
    Par défaut
    Merci beaucoup, c'est parfait.

    @Bientôt.


  6. #6
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Bonjour AgriPhilou et F-leb,

    Je me permets de m'immiscer, Fabien...

    Pour optimiser, juste une précision :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE T.[utilise] LIKE "lait"
    doit être remplacé par :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE T.[utilise] = "lait"
    Non ?
    En effet, sans caractère générique, le "LIKE" n'a aucun intérêt et, sans doute, prend davantage de ressource que le "=".

    Idem pour :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE utilise IN ('lait')
    Le test dans une liste de un seul élément n'a pas d'intérêt.

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

Discussions similaires

  1. [AC-2007] Requête union paramétrée
    Par manusp dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 28/01/2012, 20h20
  2. Paramétre sous un champ d'une requête union
    Par Philippe608 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 18/01/2008, 13h45
  3. [ADO/Access] Appel d’une requête avec des paramètres
    Par Taxenna dans le forum Bases de données
    Réponses: 1
    Dernier message: 07/12/2004, 14h58
  4. Tri d'une requête UNION
    Par MasterOfChakhaL dans le forum Langage SQL
    Réponses: 5
    Dernier message: 06/08/2004, 10h26
  5. Requête UNION sous Interbase 6 ...
    Par Djedjeridoo dans le forum InterBase
    Réponses: 2
    Dernier message: 27/07/2004, 09h08

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