запрос mysql для выбора всего, кроме

у меня есть две таблицы mysql.

первая называется "selected" и состоит из полей id, user_id и widget_id.

другая называется "widgets" и включает несколько вещей включая widget_id.

Я создал фильтр, чтобы пользователь мог отображать либо выбранные им виджеты, либо виджеты, которые он / она не выбрал. для тех, которые он выбрал, я использую это:

SELECT * 
  FROM widgets, chosen 
 WHERE chosen.user_id = $user_id 
   AND chosen.widget_id = widgets.widget_id

однако я не могу понять, как отобразить те, которые он / она не выбрал. это не работает (отображает все):

SELECT * 
  FROM widgets, chosen 
 WHERE !(    chosen.user_id = $user_id 
         AND chosen.widget_id = widgets.widget_id)

как мне это сделать?

11
задан Lightness Races with Monica 2 August 2011 в 14:19
поделиться