[RESOLU] subquery inside IN

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] subquery inside IN

Re: subquery inside IN

par salttaste » 16 août 2016, 16:25

FYI, j'ai trouvé la solution avec la fonction "FIND_IN_SET".

SELECT uid, title FROM `fe_groups` WHERE FIND_IN_SET (`uid`,( SELECT usergroup FROM fe_users WHERE uid = 10 )) >0

Re: subquery inside IN

par salttaste » 16 août 2016, 15:24

Bonjour @rthur , oui si je test la requête dans phpMyadmin et j'obtiens le même résultat que dans mon script PHP.

je pense que le select dans le IN() ne retourne que le premier reccord du résultat. Il comprend pas qu'il doit faire une sorte de "while" sur le résultat.

Merci en tout cas d'avoir répondu :D

Re: subquery inside IN

par @rthur » 12 août 2016, 14:15

Bonjour,

As tu testé tes requêtes séparément puis ensemble dans phpmyadmin ?

Re: subquery inside IN

par salttaste » 12 août 2016, 12:56

J'ai simplifié la requet : "SELECT uid, title FROM `fe_groups` WHERE uid IN(SELECT usergroup FROM fe_users WHERE uid = 10)"

Mais ça marche pas non plus...

subquery inside IN

par salttaste » 12 août 2016, 12:53

Bonjours à tous,

J'ai un problème de subquery dans un IN.

Si j’exécute ce code, j'ai en retour une seul record :
"SELECT DISTINCT(g.uid), g.title FROM `fe_users` u, `fe_groups` g WHERE g.uid IN(SELECT usergroup FROM `fe_users` WHERE uid = 10)".

Normalement ceci "SELECT usergroup FROM `fe_users` WHERE uid = 10" retourne la valeur "1,4,17,101,102,103,114,115".

Et si je fais "SELECT DISTINCT(g.uid), g.title FROM `fe_users` u, `fe_groups` g WHERE g.uid IN(1,4,17,101,102,103,114,115)" alors ça fonctionne, quelqu'un a une idée ?

Merci