MySQL LEFT JOIN返回并且不根据JOINT表上的值返回行

时间:2016-05-30 12:14:03

标签: mysql

我有一个名为admin_permissions的表,其中列出了导航页面。

我有另一张表admin_permissions_override,它将覆盖我的标准权限。

这是我当前的查询:

select a.* 
  from admin_permissions a
  LEFT JOIN admin_permissions_override b ON a.sequence = b.page_seq
 WHERE a.show_menu = 'Y'
   AND a.parent = ''
   AND (a.global_access = 'Y' OR a.technical_support = 'Y' OR a.sales = 'Y')

工作正常,但我希望能够包含我的覆盖表,其中包含以下行:

sequence
page_seq
user_seq
type

page_seq将等于admin_permissions.sequence

user_seq将为'2'

type可以是'allow''deny'

所以,如果type = 'allow'它将覆盖权限并返回该行,如果其'deny'它将再次覆盖上述查询的标准权限而不返回该行。

我已将此表的LEFT JOIN添加到我的查询中,但我不知道如何让它返回

admin_permissions表:

sequence
page
pagetitle
global_access
technical_support
sales
accounts
show_menu
parent

0 个答案:

没有答案