Php 如何从表B中选择属于表A的缺失表行?
表1有id为3“缺失”的行。但是如果你注意到了,有一个表2中缺少的id。因此,我的问题是如何选择表2中所有引用了表1\u id的行,这些行在表1中不再可用 我不太擅长mysql查询,并尝试了一些类似。。。 从b.table1\u id!上的表2 b内部联接表1 a中选择b.*a、 id和其他一些,但无法获得所需的结果 你能谈谈如何实现这一目标吗? 谢谢 只是一些小的变化,从内部到外部,条件是a.id为null(在表a中找不到匹配项) 对于删除,使用Php 如何从表B中选择属于表A的缺失表行?,php,mysql,Php,Mysql,表1有id为3“缺失”的行。但是如果你注意到了,有一个表2中缺少的id。因此,我的问题是如何选择表2中所有引用了表1\u id的行,这些行在表1中不再可用 我不太擅长mysql查询,并尝试了一些类似。。。 从b.table1\u id!上的表2 b内部联接表1 a中选择b.*a、 id和其他一些,但无法获得所需的结果 你能谈谈如何实现这一目标吗? 谢谢 只是一些小的变化,从内部到外部,条件是a.id为null(在表a中找不到匹配项) 对于删除,使用 SELECT b.* FROM table2
SELECT b.*
FROM table2 b
LEFT JOIN table1 a ON b.table1_id = a.id
WHERE a.id is null
只是一些小的变化,从内部到外部,条件是a.id为null(在表a中找不到匹配项)
对于删除,使用
SELECT b.*
FROM table2 b
LEFT JOIN table1 a ON b.table1_id = a.id
WHERE a.id is null
@cyberwiki不能被
左连接和WHERE
替换为右连接???@diEcho WHERE需要删除匹配的内容。右侧和左侧仅取决于表的放置位置。@Cyberwiki-是否可以使用相同的查询执行删除操作?我尝试了。。从表2中删除b在b.table1_id=a.id上左连接表1 a,其中a.id为null,但我在phpmyadmin中得到一个myql错误??我做错了什么?@cyberwiki不能被左连接和WHERE
替换为右连接???@diEcho WHERE需要删除匹配的内容。右侧和左侧仅取决于表的放置位置。@Cyberwiki-是否可以使用相同的查询执行删除操作?我尝试了。。从表2中删除b在b.table1_id=a.id上左连接表1 a,其中a.id为null,但我在phpmyadmin中得到一个myql错误??我做错了什么?
DELETE FROM table2
WHERE table1_id not in (select id from table1)