0

現在のテーブルとアーカイブ テーブルの 2 つの mysql テーブルがあります。アーカイブ テーブルは、現在のテーブルの正確なコピーであり、古いレコードが含まれています。

どちらのテーブルにも advert_id 列が含まれています。

advert_id が特定の値に等しいレコードを両方のテーブルで検索したいと考えています。

最初に存在しない場合は、2 番目を検索します。

私がそれを機能させる唯一の方法は、2つの選択ステートメントを実行することでした。1つは最初のテーブル用で、レコードが見つからない場合は2番目のテーブルから選択します。一度に両方を検索するにはどうすればよいですか?

4

3 に答える 3

0

これを試して

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

これにより、両方のテーブルが検索されます

于 2013-04-05T11:54:35.357 に答える
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` 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 に答える