2016-01-13 3 views
0

таблица words содержит столбцы: word_idwordВыберите из table1 на состояние конкретных элементов из table1 не существуют в table2

Мои отпечатки запросов, как:

SELECT word FROM words WHERE condition1 AND condition2 ORDER BY RAND() LIMIT 5000

таблица solved содержит столбцы: user_idword_id

Я хотел бы получить 5000 случайных строк при условии, что ни один из них не является полноценным d в таблице solved для user = username

До сих пор я пытался:

SELECT word FROM words w 
WHERE not exists 
(select 1 from solved s where s.word_id = w.word_id 
AND s.user_id = 'username') 
AND condition1 AND condition2 ORDER BY RAND() LIMIT 5000 

ответ

0

Использование LEFT JOIN для Тар:

SELECT word 
FROM words w 
left join solved s on s.word_id = w.word_id AND s.user_id = 'username' 
WHERE w.word_id is null 
AND condition1 AND condition2 
ORDER BY RAND() LIMIT 5000 
+0

Вы говорите, что вы хотите записи из первой таблицы, которая не имеет соответствующих записей на secod Таблица. Thats becouse 'null' – Evgeny

Смежные вопросы