0

我有 2 个 mysql 表,一个当前表和一个存档表。存档表是当前表的精确副本,包含旧记录。

两个表都包含一个 advert_id 列。

我想在两个表中搜索 advert_id 等于某个值的记录。

如果第一个不存在,则搜索第二个。

我可以让它工作的唯一方法是执行两个选择语句,一个用于第一个表,然后如果找不到记录,则从第二个表中选择。我如何同时搜索两者?

4

3 回答 3

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
于 2013-04-05T11:10:28.187 回答
0

下面试试。

select * from Current where advert_id = 222
Union
select * from Archived where advert_id = 333
于 2013-04-05T11:25:38.200 回答
0

试试这个

Select * from Current a , Archive b where a.advert_id = 222 or b.advert_id = 222

这将搜索两个表

于 2013-04-05T11:54:35.357 回答