我正在寻找一种方法来删除不仅基于一个表而是两个基于重复的数据。在基于两个表加入的MySQL数据库中删除模糊
表1:
ID | NAME | ETC
1 | Truck |
2 | Boat |
3 | Truck |
4 | Truck |
表2
ID | REL_ID | KEY | VAL
450 | 1 | operator | Jim
451 | 2 | operator | Frank
452 | 3 | operator | Jake
453 | 4 | operator | Jim
我想在这样的方式我只检索记录#搜索重复4从表1中;表1中的标题需要重复,但也要在表2中列出它们的相关键(例如,rec 1和rec 3也是dupe,但它们有不同的操作符)。到目前为止,我试图内部连接表2两次,但我一直困惑如何嵌套做。谢谢!
编辑:期望的结果:我希望运行一个查询,只选择表1中的第4行删除,因为它的名称(卡车和卡车)以及其相关的运算符吉姆和吉姆)。如果我以卡车为名删除所有模糊,我也会删除那些有不同操作员的模糊。
示例查询我已经从表1中选择(删除)所有的受骗者是:
SELECT a.ID, a.title
FROM table_1 AS a
INNER JOIN (
SELECT title, MIN(id) AS min_id
FROM table_1
GROUP BY title
HAVING COUNT(*) > 1
) AS b ON b.title = a.title
AND b.min_id <> a.id
这让我从表1愚弄,但不知道该如何在表2
滚
目前尚不清楚你要在这里完成的。你能给出一个示例查询和一个可能有助于描述你所面临的问题的示例所需的行输出吗? – xathien
_I只检索记录#4_ - 为什么不是'2-Boat'?这似乎没有任何重复。你可以发布一个表格,看看你的查询的输出是什么样的? –
通过检索你的意思是删除?或保持?你想从两个表中删除吗? –