&引用;MySQL返回一个空的结果集
我有一张桌子(表1),用来存放一些人。我需要逐个选择random并添加到另一个表(表2)。如果添加了一个人,则可以再次选择该人,直到所有人都被选中。这是我的疑问:&引用;MySQL返回一个空的结果集,mysql,join,random,Mysql,Join,Random,我有一张桌子(表1),用来存放一些人。我需要逐个选择random并添加到另一个表(表2)。如果添加了一个人,则可以再次选择该人,直到所有人都被选中。这是我的疑问: SELECT * FROM people inner join people_generated on people.id = people_generated.id WHERE people.id != people_generated.id_people ORDER BY RAND() LIMIT 1 第二个表“people_
SELECT * FROM people inner join people_generated on people.id = people_generated.id WHERE people.id != people_generated.id_people ORDER BY RAND() LIMIT 1
第二个表“people_generated”为空,因此,保留要生成的人员。为什么结果为空?内部联接从两个表返回匹配的行,如果其中一个为空,结果将始终为空 您可能想使用
SELECT * FROM people LEFT JOIN people_generated on people.id = people_generated.id WHERE people_generated.id_IS NULL ORDER BY RAND() LIMIT 1
内部联接的对立面?不是真正的对立面,但您可能希望使用左联接。我已经用您可能需要的内容编辑了答案。请花些时间了解连接类型