将mysql表中的某一行与另一个表值进行比较
我需要一些mysql查询方面的帮助 我有两张桌子,如下所示 表1将mysql表中的某一行与另一个表值进行比较,mysql,Mysql,我需要一些mysql查询方面的帮助 我有两张桌子,如下所示 表1 ID NAME ADDRESS 1 test testing address 2 test1 testing address 3 test2 testing address 表2 ID user_id date 1 2 123456789 我的问题是 SELECT * FROM table1,table2 on table1.ID = table2.user_id
ID NAME ADDRESS
1 test testing address
2 test1 testing address
3 test2 testing address
表2
ID user_id date
1 2 123456789
我的问题是
SELECT * FROM table1,table2 on table1.ID = table2.user_id where table2.date != 123456789
但这行不通
我需要表1中没有ID 2的数据,如下面的输出
ID name address
1 test1 testing address
3 test3 testing address
使用
左联接
仅获取第二个表中不存在的记录
SELECT tabl1.*
FROM table1
left join table2 on table1.ID = table2.user_id
where table2.user_id is null
请参见检查语法
SELECT * FROM table1 t1
INNER JOIN table2 t2 on t1.ID = t2.user_id where t2.date != '123456789'
试试这个:-
SELECT * FROM table1 t1
inner join table2 t2 on t1.ID <> t2.user_id;
从表1 t1中选择*
t1.ID t2.user\u ID上的内部联接表2 t2;
希望它能对您有所帮助。您的联接语法错误,在使用
on
关键字之前,您需要指定要联接的表。您应该尝试“联接”查询。连接语法类似于:从tableX LEFT Join tableY on(tableX.field=tableY.field)中选择tableX.FieldX、tableY.FieldZ(…等等),其中tableY.date!=谢谢你的解决方案。它运行良好,但我需要与“日期”字段进行比较,因为如果该“日期”不存在,那么我也需要该用户id(2)。与表1中的所有记录一样