嗯,我已經建立了下面的表格(僅涉及列)SQL查詢選擇禁令名單上,孩子和父親加入
表論壇:
id | forumname | relatedto ------------------------------ 1 | games | 0 2 | action games | 1 // subforum of forum games 3 | rpg games | 1 // subforum of forum games
表banlist
id | useraid | forumid ---------------------- 1 | 56 | 1 // the user 56 got banned from forum games
我想要做的是建立一個功能,看看用戶是否被禁止在論壇X,如果他被禁止,他認爲被禁止與論壇X有關的論壇。例如:用戶56也被禁止從論壇RPG遊戲。
我已經寫一個沒有工作的以下查詢:
SELECT f.id, f.relatedto, b.useraid as u1, b2.useraid as u2 FROM forums f LEFT JOIN banlist b ON(b.forumid=f.id and b.useraid='56') LEFT JOIN banlist b2 ON(b2.forumid=f.relatedto and b2.useraid='56') WHERE f.id='2'
任何想法?
結果集應該是什麼樣子? – Strawberry 2013-04-20 22:39:23
只顯示1,如果禁用,則爲0。我建立的查詢是一個嘗試。 – GuyChabra 2013-04-20 22:40:42
是否有父母對子女(例如孫輩)的嵌套級別或者只是一個級別?因爲您使用的是MySQL,所以單一級別會更容易。順便說一句 - 當前查詢將始終返回一個記錄,如果它存在於論壇表中。 – sgeddes 2013-04-20 22:44:32