Есть ли способ удалить совпадающие строки из MySQL, связанные с Query. На самом деле у меня есть две таблицы, где я храню pub_id, а post_id в обеих таблицах - общие. Я хочу получить результат, когда я запрашиваю все соответствующие строки из таблицы1, а таблица2 не должна быть указана, а строки, не соответствующие совпадению, должны быть перечислены только.
Строки возврата запроса, которые существуют только в одной из двух таблиц:
SELECT *
FROM Table1 t1
WHERE NOT EXISTS (Select 1 from Table2 t2
Where t1.pub_id = t2.pub_id
AND t1.post_Id = t2.post_id)
UNION ALL
SELECT *
FROM Table2 t1
WHERE NOT EXISTS (Select 1 from Table1 t2
Where t1.pub_id = t2.pub_id
AND t1.post_Id = t2.post_id)
вам нужно что-то вроде этого:
SELECT * FROM tablea AS a
RIGHT JOIN tableb AS o ON a.id = o.id WHERE a.pub_id IS NULL and a.post_id is null
UNION
SELECT * FROM tablea AS a
LEFT JOIN tableb AS o ON a.id = o.id WHERE o.pub_id IS NULL and o.post_id is null