编写查询以加入两个表时出现问题

时间:2011-02-20 22:56:36

标签: php postgresql

我正在编写一个脚本,目的是授予网站用户访问网站菜单不同部分的权限。为此,我创建了两个表,“菜单”和“权限”:

menu
- id
- section_name

rights
- id
- menu_id (references column id from menu table)
- user_id (references column id from users table)

如何编写查询以获取所有菜单部分并标记给定用户可以访问的部分。

我正在使用PHP和Postgres。

谢谢。

1 个答案:

答案 0 :(得分:2)

也许是这样的:

SELECT M.*, CASE WHEN R.user_id > 0 THEN 1 ELSE 0 END AS access FROM menu AS M
LEFT JOIN rights AS R ON (R.menu_id = M.id AND R.user_id = 1)