搜尋

首頁  >  問答  >  主體

SQL - 如何取得兩個不同表之間的最新條目? (時間戳沒有被儲存)

我正在開發一個正在進行的項目,其中我正在處理引號,資料庫結構組織得不好,我無法對資料庫架構進行太多更改來修復它。

在資料庫中:

表1 常規引號

id | name | quoteno | status  | .....|
------------------------------------------
1  | name1| RQ-909099 | pending  | .....|
2  | name2| RQ-800099 | pending  | .....|
3  | name3| RQ-965099 | approved | .....|

表2 premium_quotes

#
id | name | quoteno | status  | .....|
------------------------------------------
1  | name1| PQ-209099 | pending  | .....|
2  | name2| PQ-300099 | pending  | .....|
3  | name3| PQ-965099 | pending  | .....|

我所做的是:

但情況是,他們不希望我對資料庫進行任何更改。而且我認為這無法在當前的場景中完成。

有沒有辦法可以取得這些表格的最新報價?它可以是 regular_quotespremium_quotes

#謝謝!

P粉244155277P粉244155277445 天前597

全部回覆(1)我來回復

  • P粉956441054

    P粉9564410542023-09-07 15:52:41

    如果沒有任何時間戳列,實際上無法確定兩個表中哪一個具有最新的報價條目。我們可以嘗試一些技巧,但您的情況將決定它們是否值得信任。

    一種方法是,您可以檢查 ID 是否按順序分配,並且由於您知道兩個表中的最新 ID,因此您可以比較它們以確定哪個表具有最新報價。例如,如果regular_quotes 表中最新的id3,並且regular_quotes 表中最新的id# > premium_quotes表為5,可以斷定premium_quotes表中有最新的報價。

    SELECT MAX(id) AS latest_regular_quotes_id FROM regular_quotes;
    
    
    SELECT MAX(id) AS latest_premium_quotes_id FROM premium_quotes;

    這些將傳回每個表中的最高 ID 值。您可以比較這兩個值來確定哪個表具有最新報價,其中 id 的值最高。

    理想情況下,您可能需要告訴管理員解決此問題。

    希望這對您有用。

    回覆
    0
  • 取消回覆