2011-02-20 1 views
0

私は、サイトユーザーのサイトメニューのさまざまなセクションへのアクセスを許可する目的でスクリプトを作成しています。このために私は2つのテーブル、「メニュー」と「権利」を作成しました:クエリはすべてのメニューのセクションを取得し、特定のユーザーがアクセス権を持っているものをマークするために書き込むことができますどのように2つのテーブルを結合するためのクエリを書くときの問題

menu 
- id 
- section_name 

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

私はPHPとPostgresを使用しています。

ありがとうございます。

答えて

2

たぶん、このような何か:arex1337 @

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) 
+0

:私は、メニューから、すべてのセクション、ユーザーがアクセス権を持っていないものだけを取得したいので、うまくそれはない大丈夫だ、ともののために場所をユーザー値を持つ新しい列を表示する( '1'のようなもの) – Psyche

+0

あなたのコメントに答えるために私の答えを更新しました。 –

+0

"関数が(ブール値、整数、整数)が存在しない場合"、このヒント: "指定された名前と引数の型に一致する関数がない。明示的な型キャストを追加する必要があります。 – Psyche

関連する問題