我正在开发一个正在进行的项目,其中我正在处理引号
,数据库结构组织得不好,我无法对数据库架构进行太多更改来修复它。
在数据库中:
regular_quotes
和 premium_quotes
是两个表。日期/时间
,没有任何与created_at
相关的列,也没有备用列
存储日期/时间
表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 | .....|
我所做的是:
recent_quote_meta
id
、quote_id
、quote_type
、created_at
、updated_at
, deleted_at
recent_quote_meta
中,并使用 quote_id
quote_id
和quote_type
,基于此我正在相应地获取和显示报价但情况是,他们不希望我对数据库进行任何更改。而且我认为这无法在当前的场景中完成。
有没有办法可以获取这些表的最新报价?它可以是 regular_quotes
或 premium_quotes
谢谢!
P粉9564410542023-09-07 15:52:41
如果没有任何时间戳列,实际上无法确定两个表中哪一个具有最新的报价条目。我们可以尝试一些技巧,但您的情况将决定它们是否值得信任。
一种方法是,您可以检查 ID 是否按顺序分配,并且由于您知道两个表中的最新 ID,因此您可以比较它们以确定哪个表具有最新报价。例如,如果 regular_quotes
表中最新的 id
为 3
,并且 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
的值最高。
理想情况下,您可能需要告诉管理员解决此问题。
希望这对您有用。