我有2个mysql表,一个当前表和一个归档表。归档表是当前表的精确副本,包含旧记录。
两个表都包含advert_id列。
我想在两个表中搜索advert_id等于某个值的记录。
如果第一个不存在,则搜索第二个。
我能让它工作的唯一方法是做两个select语句,一个用于第一个表,然后如果找不到记录则从第二个表中选择。我如何一次搜索两个?
答案 0 :(得分:0)
只是在这里拍摄,但这应该工作。
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
答案 1 :(得分:0)
请尝试以下。
select * from Current where advert_id = 222
Union
select * from Archived where advert_id = 333
答案 2 :(得分:0)
试试这个
Select * from Current a , Archive b where a.advert_id = 222 or b.advert_id = 222
这将搜索两个表