我有 2 个 mysql 表,一个当前表和一个存档表。存档表是当前表的精确副本,包含旧记录。
两个表都包含一个 advert_id 列。
我想在两个表中搜索 advert_id 等于某个值的记录。
如果第一个不存在,则搜索第二个。
我可以让它工作的唯一方法是执行两个选择语句,一个用于第一个表,然后如果找不到记录,则从第二个表中选择。我如何同时搜索两者?
我有 2 个 mysql 表,一个当前表和一个存档表。存档表是当前表的精确副本,包含旧记录。
两个表都包含一个 advert_id 列。
我想在两个表中搜索 advert_id 等于某个值的记录。
如果第一个不存在,则搜索第二个。
我可以让它工作的唯一方法是执行两个选择语句,一个用于第一个表,然后如果找不到记录,则从第二个表中选择。我如何同时搜索两者?
只是在这里拍摄,但这应该可以。
SELECT * FROM `current` WHERE id = :id
UNION
SELECT * FROM `archived` LEFT JOIN `current` ON archived.id = current.ID
WHERE current.ID IS NULL AND archived.id = :id
下面试试。
select * from Current where advert_id = 222
Union
select * from Archived where advert_id = 333
试试这个
Select * from Current a , Archive b where a.advert_id = 222 or b.advert_id = 222
这将搜索两个表