2016-01-13 23 views
0

words包含列:word_idword从表1从特定条件的元素table1的选择表2中不存在

我的查询打印为:

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

solved包含列:user_idword_id

我想取5000条随机行,条件是它们都不是基础d表solveduser = 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没有相应的记录,第一表中的记录表。这是因为'null' – Evgeny

相关问题