选择表中的列与另一个表中的列不同的数据

时间:2014-04-05 09:29:37

标签: sql

我需要从表(table1)中选择一个特定列与另一个表(table2)中另一列不同的数据

类似的东西:

SELECT * FROM table1 WHERE table1.column1 != table2.column2

我做这样的改变:

SELECT * FROM table1
inner join table2 on table1.id = table2.id
WHERE table1.column1 != table2.column2

我有一个表(table1),我存储了一些人。我需要逐个选择并添加到另一个表(table2)。如果添加了一个人,可以再次选择该人,直到所有人人民被选中。这是我的问题:

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 

返回一个空结果:“MySQL返回一个空结果集”

第二个表“people_genrated”是空的,所以仍然要生成人。为什么结果为空?

3 个答案:

答案 0 :(得分:1)

尝试这样的事情,

SELECT t1.name FROM table1 t1
LEFT JOIN table2 t2 ON t2.name = t1.name
WHERE t2.name IS NULL

答案 1 :(得分:0)

试试这个,

SELECT * FROM table1
inner join table2 on table1.id = table2.id
WHERE table1.column1 != table2.column2

答案 2 :(得分:0)

尝试这个。

 Select rooms.single from rooms where rooms.single<>checkin.room_no;