SQL - 2 つの異なるテーブル間で最新のエントリを取得するにはどうすればよいですか? (タイムスタンプは保存されません)
P粉244155277
P粉244155277 2023-09-07 00:14:25
0
1
446

私はquotesを扱う進行中のプロジェクトに取り組んでいますが、データベース構造が十分に整理されておらず、それを修正するためにデータベース スキーマにあまり多くの変更を加えることができません。

データベース内:

  • 2 種類の引用符が 2 つの異なるテーブルに保存されます。
  • regulator_quotespremium_quotesが 2 つのテーブルであると仮定します。
  • 状況は、date/timeを格納するテーブルが存在せず、created_atに関連する列が存在せず、バックアップcolumnstorage も存在しないことです。 ###日付時刻######これら 2 つのテーブルのうち、どのテーブルに最新のエントリがあるかを確認する必要があります。
  • ######表1###
  • 通常の引用文
リーリー

表 2premium_quotes

リーリー

私がやったこと:

新しいテーブルを作成しました

recent_quote_meta

には次の列があります:
    id
  • quote_id
  • quote_type
  • created_atupdated_at削除済み_atQNY 見積が作成されるたびに、それをrecent_quote_metaに保存し、quote_id
  • を使用します。
  • これから、最新のquote_idquote_typeを取得し、これに基づいて引用符を取得して表示します
  • しかし、現状では、彼らは私にデータベースに変更を加えることを望んでいません。そして、現在のシナリオではそれができるとは思えません。これらのテーブルの最新の見積もりを取得する方法はありますか?regulator_quotes
  • または
premium_quotes

のいずれかになります。 ###ありがとう!

P粉244155277
P粉244155277

全員に返信 (1)
P粉956441054

タイムスタンプ列がないと、実際には 2 つのテーブルのどちらに最新の見積もりエントリがあるかを判断する方法がありません。試すことができるトリックはいくつかありますが、それらが信頼できるかどうかは状況によって決まります。

1 つの方法は、ID が順番に割り当てられているかどうかを確認でき、両方のテーブルの最新の ID がわかっているので、それらを比較してどちらのテーブルに最新の見積もりがあるかを判断できます。たとえば、regulator_quotesテーブルの最新のid3であり、regulator_quotes## の最新のidである場合、 # table > premium_quotesテーブルは 5であり、premium_quotesテーブルに最新の相場があると結論付けることができます。リーリー

これらは、各テーブルの最大の ID 値を返します。これら 2 つの値を比較すると、最も高い値を持つ

idを使用して、どのテーブルに最新の引用符が含まれているかを判断できます。

理想的には、管理者にこの問題を解決するように指示することをお勧めします。

これがお役に立てば幸いです。

いいねを押す+0
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート
    私たちについて 免責事項 Sitemap
    PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!