Rumah > Soal Jawab > teks badan
Saya sedang mengusahakan projek yang sedang dijalankan di mana saya sedang berusaha 引号
, struktur pangkalan data tidak teratur dan saya tidak boleh membuat banyak perubahan pada skema pangkalan data untuk membetulkannya.
Dalam pangkalan data:
regular_quotes
和 premium_quotes
ialah dua meja. 日期/时间
,没有任何与created_at
相关的列,也没有备用列
存储日期/时间
Jadual 1
常规引号
id | name | quoteno | status | .....| ------------------------------------------ 1 | name1| RQ-909099 | pending | .....| 2 | name2| RQ-800099 | pending | .....| 3 | name3| RQ-965099 | approved | .....|
Jadual 2
premium_quotes
id | name | quoteno | status | .....| ------------------------------------------ 1 | name1| PQ-209099 | pending | .....| 2 | name2| PQ-300099 | pending | .....| 3 | name3| PQ-965099 | pending | .....|
Apa yang saya lakukan ialah:
recent_quote_meta
id
、quote_id
、quote_type
、created_at
、updated_at
, deleted_at
recent_quote_meta
中,并使用 quote_id
dan menggunakan quote_id
quote_id
和quote_type
dan berdasarkan ini saya mendapat dan memaparkan petikan sewajarnyaTetapi masalahnya, mereka tidak mahu saya membuat sebarang perubahan pada pangkalan data. Dan saya rasa itu tidak boleh dilakukan dalam senario semasa.
Adakah terdapat cara untuk mendapatkan sebut harga terkini untuk jadual ini? Ia boleh menjadi regular_quotes
或 premium_quotes
Terima kasih!
P粉9564410542023-09-07 15:52:41
Tanpa sebarang lajur cap masa, sebenarnya adalah mustahil untuk menentukan yang mana antara kedua-dua jadual tersebut mempunyai entri sebut harga terkini. Terdapat beberapa helah yang boleh kami cuba, tetapi situasi anda akan menentukan sama ada mereka boleh dipercayai.
Salah satu cara ialah anda boleh menyemak sama ada ID diperuntukkan mengikut susunan dan memandangkan anda mengetahui ID terkini dalam kedua-dua jadual, anda boleh membandingkannya untuk menentukan jadual yang mempunyai petikan terkini. Contohnya, jika jadual regular_quotes
表中最新的 id
为 3
,并且 regular_quotes
表中最新的 id
>premium_quotes表为5
,可以断定premium_quotes
mempunyai petikan terkini.
SELECT MAX(id) AS latest_regular_quotes_id FROM regular_quotes; SELECT MAX(id) AS latest_premium_quotes_id FROM premium_quotes;
Ini akan mengembalikan nilai ID tertinggi dalam setiap jadual. Anda boleh membandingkan kedua-dua nilai ini untuk menentukan jadual yang mempunyai petikan terkini, dengan id
mempunyai nilai tertinggi.
Sebaik-baiknya, anda mungkin ingin memberitahu pentadbir untuk menyelesaikan isu ini.
Semoga ini berguna untuk anda.