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 MySQL Discussion :

SELECT sur ID identiques


Sujet :

Requêtes MySQL

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    386
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 386
    Points : 220
    Points
    220
    Par défaut SELECT sur ID identiques
    Bonjour,

    Est-il possible, s'il vous plaît, de faire un SELECT mais de retourner tous les enregistrements avec une clause du genre :
    IN (7847,8137,141414,104459,7847,8328,7860,141414,104459,7847,141414,104459,7847,141414,7847)
    Exemple : 7847 apparaît plusieurs fois mais je souhaite les voir tous.

    Merci du coup de main.

    Bonne journée.

    @+

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Bonjour,
    Qu'une valeur apparaisse une fois ou plusieurs dans une clause IN ne change rien, toutes les lignes qui vérifient la condition sont renvoyées.

    Donc je ne comprends pas bien la question.
    Peux-tu nous donner un exemple ?

    Tatayo.

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    386
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 386
    Points : 220
    Points
    220
    Par défaut
    Je veux lister toutes les correspondantes qui sont présentent entre ()
    7847 = produit a
    141414 = produit b
    dont pour (7847,141414,7847.....) j'aimerais avoir en retour :

    produit a
    produit b
    produit a
    .....
    et pas seulement
    produit a
    produit b

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Le "problème" ici est que IN fait bien ce que tu lui demandes (renvoyer les articles qui sont dans la liste des valeurs). Mais chaque ligne de la table n'est évaluée qu'une seule fois.
    Ta requête revient à ceci:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    …
    (produit.id = 7847 or produit.id = 141414 or produit.id = 7847)
    ...
    Donc IN n'est pas la solution à ton problème.
    Je ne sais pas comment est générée la requête, mais la seule solution côté SQL que je vois ici est de faire des UNION ALL:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    select *
    from produit
    where id in (7847,141414)
    union all
    select *
    from produit
    where id in (7847)
    Sinon il faut le gérer du côté de l'application.

    Tatayo.

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    386
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 386
    Points : 220
    Points
    220
    Par défaut
    Merci tatayo.

    >Sinon il faut le gérer du côté de l'application.
    Effectivement je vais faire ça.

    Merci pour ton aide.

    @+

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

Discussions similaires

  1. Select sur 2 tables avec deux colonnes identiques
    Par LsMarx dans le forum Requêtes
    Réponses: 4
    Dernier message: 07/08/2012, 16h08
  2. select sur une série de n caractères identiques
    Par Papy214 dans le forum Développement
    Réponses: 4
    Dernier message: 03/11/2011, 14h27
  3. insert-select sur 2 base différente
    Par gskoala dans le forum Paradox
    Réponses: 2
    Dernier message: 16/11/2004, 15h11
  4. select sur un champ de type LONG
    Par ppd dans le forum Langage SQL
    Réponses: 2
    Dernier message: 03/09/2004, 18h19
  5. select sur plusieurs table, question sur jointure
    Par Schulman dans le forum Langage SQL
    Réponses: 7
    Dernier message: 03/09/2004, 13h54

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