我有2個MySQL表,電流表和存檔表。歸檔表是當前表的精確副本,幷包含舊記錄。簡單MYSQL選擇從2表
兩個表包含advert_id柱。
我要搜索這兩個表的其中advert_id等於某個值的記錄。
如果它不中首先存在,搜索第二。
我能得到它的工作的唯一辦法就是做兩個SELECT語句,一個第一個表,然後如果記錄wasnt發現第二個表選擇。我將如何同時搜索兩個?
我有2個MySQL表,電流表和存檔表。歸檔表是當前表的精確副本,幷包含舊記錄。簡單MYSQL選擇從2表
兩個表包含advert_id柱。
我要搜索這兩個表的其中advert_id等於某個值的記錄。
如果它不中首先存在,搜索第二。
我能得到它的工作的唯一辦法就是做兩個SELECT語句,一個第一個表,然後如果記錄wasnt發現第二個表選擇。我將如何同時搜索兩個?
請嘗試以下。
select * from Current where advert_id = 222
Union
select * from Archived where advert_id = 333
感謝當我用每個表的相同advert_id奏效。 – user1052096 2013-04-05 11:38:19
歡迎任何時間。 – DevelopmentIsMyPassion 2013-04-05 12:02:36
只是採取在這裏拍攝但這應該工作。
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 a , Archive b where a.advert_id = 222 or b.advert_id = 222
這將搜索這兩個表
有2和表之間的關係? – DevelopmentIsMyPassion 2013-04-05 11:09:40
不,兩個表之間沒有關係,它們只是相同但不同的數據。 – user1052096 2013-04-05 11:12:33
好了,第一件事就是來到我的腦子裏:'SELECT ...,「表1」的源FROM表1 WHERE條件X UNION ALL SELECT ...,「表2」的源FROM表2 WHERE條件X'(條件是指,你advert_id加上其他的)。順便說一下......你在做什麼是明顯的邪惡。要麼你有一個外鍵約束到一個表...或不。請考慮停止尋找到「舊錶只是要確定」 – Najzero 2013-04-05 11:12:57