2016-05-15 5 views
0

私はoptionID、optionNameを含むテーブルを持っています。それはuser_optionsと呼ばれます。 userID、optionIDを含む2番目のテーブルがあります。その名前はuser_selected_optionsです。Mysqlは、別のテーブルレコードと互換性のある行を選択します

user_optionsのオプションはuser_selected_optionsに格納されます。これは問題ありません。今、ユーザーを編集するときに、user_selected_options内のそのユーザーに対して選択されていないuser_optionsのオプションを選択ボックスとして表示したいだけです。これどうやってするの?

この質問は意味があると思います。不明な点がある場合はお知らせください。詳細を説明します。

ありがとうございます。 user_selected_options(option_id, userId)にインデックスを作成し、最高のパフォーマンスを

select uo.* 
from user_options uo 
where not exists (select 1 
        from user_selected_options uso 
        where uso.optionId = uo.option_id and uso.userId = $userId 
       ); 

:ここ

答えて

1

not existsを使用して1つの方法です。

あなたが例えばmysqlののコマンドではないから使用することができます
+0

驚くばかりではありません詳細については例を参照してください、それはトリックをしました。 – Hashmi

関連する問題