我正在学习更复杂的查询。使用下面的sql,它通过表查找可能的重复项,其中基本上是x = y或y = x。即它是相同的条目,但id是相反的列。
SELECT
a.match_id as a_match_id,
b.match_id as b_match_id
FROM
matches a,
matches b
WHERE
a.primary_linked_id=b.secondary_linked_id
AND
a.secondary_linked_id=b.primary_linked_id
AND
a.date = b.date';
我想要做的是,从b_match_id返回的列表中删除所有这些结果。
我只知道如何使用php,然后我将循环遍历所有这些结果并为每一行构建另一个sql查询。这很慢。
我如何基本上添加这样的东西:
DELETE FROM matches WHERE match_id=b_match_id
..所以这一切都是通过1个查询完成的。
答案 0 :(得分:1)
DELETE b
FROM
matches a,
matches b
WHERE
a.primary_linked_id=b.secondary_linked_id
AND
a.secondary_linked_id=b.primary_linked_id
AND
a.date = b.date
???