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

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

データベース内:

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

表 2 premium_quotes

リーリー

私がやったこと:

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

recent_quote_meta

には次の列があります:
    id
  • quote_id
  • quote_type
  • created_atupdated_at 削除済み_at QNY 見積が作成されるたびに、それを 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 学習者の迅速な成長を支援します!