0
我有3個表,如下圖所示:MySQL查詢沒有返回預期的記錄
subscription_plans
subscribed_videos
個subscription_groups
我想找到對應於所選視頻(表subscription_plans)的計劃。表subscription_groups包含計劃 - 計劃映射,即計劃可以是另一計劃的一部分。例如,計劃A,計劃B和計劃C.計劃A包含計劃B和計劃C,並且具有ID 5的視頻是計劃B的一部分(表subscribed_videos),則用於查找對應於視頻5的計劃的查詢應該將計劃A與計劃B一起退回。記錄應該是不同的。
我試着用下面的查詢。但是,如果我添加的計劃在subscription_groups中沒有條目,則該記錄不會返回此查詢。
$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";
任何人都可以幫助我找到適當的查詢嗎?提前致謝。
@ Fuzzy..It是示出錯誤'子查詢返回多於1個row' – Jenz
@Jenz更新查詢,以允許在子查詢中的多個行(IN,而不是 '=') – FuzzyTree
@ Fuzzy..Thankyou所以很多..它運作良好.. – Jenz