[RESOLU] WHERE [1 de ces valeurs] IN [1 de ces valeurs]

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] WHERE [1 de ces valeurs] IN [1 de ces valeurs]

Re: WHERE [1 de ces valeurs] IN [1 de ces valeurs]

par VaN » 08 mars 2013, 13:58

Réponse apportée sur stackoverflow :

http://stackoverflow.com/questions/1529 ... ese-values
SELECT DISTINCT A.id FROM logsen_alertes AS A
INNER JOIN logsen_liaisons_alertes_souhaits AS L4
        ON (L4.alerte_id = A.id)
INNER JOIN logsen_liaisons_annonces_types_colocations AS LA2
        ON (LA2.type_colocation_id = L4.souhait)
WHERE LA2.annonce_id = 25 AND LA2.annonce_type = 4

WHERE [1 de ces valeurs] IN [1 de ces valeurs]

par VaN » 08 mars 2013, 13:26

Bonjour,

j'ai une requête de ce type :
SELECT A.id FROM logsen_alertes A
WHERE  (SELECT LA2.type_colocation_id FROM logsen_liaisons_annonces_types_colocations LA2 WHERE LA2.annonce_id = 25 AND LA2.annonce_type = 4) IN (SELECT L4.souhait FROM logsen_liaisons_alertes_souhaits L4 WHERE L4.alerte_id = A.id) 
Cela marche très bien, lorsque la première sous requête ne me retourne qu'un seul résultat, puisque c'est le fonctionnement normal de IN(), une recherche d'une valeur dans un groupe de valeur. Hélas, lorsque la première sous-requête me renvoie plusieurs valeurs, MySQL me renvoie l'erreur "Subquery returns more than 1 row". Comment dois-je modifier ma requête, pour qu'elle fonctionne lorsque n'importe quelle valeur de ma première sous-requête se trouve dans l'ensemble de valeur de la 2ème sous-requête ?