2013-04-05 84 views
0

我有2個MySQL表,電流表和存檔表。歸檔表是當前表的精確副本,幷包含舊記錄。簡單MYSQL選擇從2表

兩個表包含advert_id柱。

我要搜索這兩個表的其中advert_id等於某個值的記錄。

如果它不中首先存在,搜索第二。

我能得到它的工作的唯一辦法就是做兩個SELECT語句,一個第一個表,然後如果記錄wasnt發現第二個表選擇。我將如何同時搜索兩個?

+0

有2和表之間的關係? – DevelopmentIsMyPassion 2013-04-05 11:09:40

+0

不,兩個表之間沒有關係,它們只是相同但不同的數據。 – user1052096 2013-04-05 11:12:33

+0

好了,第一件事就是來到我的腦子裏:'SELECT ...,「表1」的源FROM表1 WHERE條件X UNION ALL SELECT ...,「表2」的源FROM表2 WHERE條件X'(條件是指,你advert_id加上其他的)。順便說一下......你在做什麼是明顯的邪惡。要麼你有一個外鍵約束到一個表...或不。請考慮停止尋找到「舊錶只是要確定」 – Najzero 2013-04-05 11:12:57

回答

0

請嘗試以下。

select * from Current where advert_id = 222 
Union 
select * from Archived where advert_id = 333 
+0

感謝當我用每個表的相同advert_id奏效。 – user1052096 2013-04-05 11:38:19

+0

歡迎任何時間。 – DevelopmentIsMyPassion 2013-04-05 12:02:36

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 
0

試試這個

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

這將搜索這兩個表