j'ai 3 tables comme indiqué ci-dessous:MYSQL Interrogation ne pas retourner les dossiers attendus
subscription_plans
subscribed_videos
subscription_groups
Je veux trouver les plans correspondant à la vidéo sélectionnée (tableau subscription_plans). Le tableau subscription_groups contient le mappage du plan de plan, c'est-à-dire qu'un plan peut faire partie d'un autre plan. Par exemple, le Plan A, le Plan B et le Plan C. Le Plan A contient à la fois le Plan B et le Plan avec l'ID 5 fait partie du Plan B (tableau subscribed_videos), puis la requête pour trouver les plans correspondant à la vidéo 5 devrait retourner le plan A avec le plan B. Les documents devraient également être distincts.
J'ai essayé avec la requête suivante. Mais si j'ajoute un plan qui n'a pas d'entrée dans subscription_groups, alors cet enregistrement ne revient pas avec cette requête.
$videoid=$_POST['videoid'];
echo "select sv.plan_id,sg.plan_id,sp.id,sp.plan,sp.days_limit,sp.rate from subscribed_videos as sv
LEFT JOIN subscription_groups as sg ON sv.plan_id=sg.assosiated_plan_id INNER JOIN
subscription_plans as sp ON sv.plan_id=sp.id where sg.assosiated_plan_id=sv.plan_id and sv.videoid=$videoid
and sg.assosiated_plan_id=sp.id";
Quelqu'un peut-il m'aider à trouver la bonne requête pour cela? Merci d'avance.
@ Fuzzy..It affiche l'erreur 'sous-requête renvoie plus de 1 row' – Jenz
@Jenz mis à jour la demande de recherche pour permettre à plusieurs rangées dans la sous-requête (IN au lieu de '=') – FuzzyTree
@ Fuzzy..Thankyou si beaucoup..Il a bien travaillé .. – Jenz