我在數據庫1SQL Server的最大值檢索
create table database1..Table1 (id int ,datestamp datetime)
create table database1..Table2 (id int ,datestamp datetime)
create table database1..Table3(id int ,datestamp datetime)
以下3個表,該表中DATABASE2
create table database2..Table1 (id int ,datestamp datetime)
我想的更大的值更新DATABASE2的表1 .datestamp datestamp(在數據庫1的3個表之間)
是否有比此查詢更好的方法(不使用大小寫):
update db2t1
set datestamp=
case when db1t1.datestamp > db1t2.datestamp and db1t1.datestamp > db1t3.datestamp then db1t1.datestamp
when db1t2.datestamp > db1t1.datestamp and db1t2.datestamp > db1t3.datestamp then db1t2.datestamp
else db1t3.datestamp
end
from database2..Table1 db2t1 inner join database1..Table1 db1t1 on db2t1.id=db1t1.id
inner join database1..Table2 db1t2 on db1t1.id=db1t2.id
inner join database1..Table3 db1t3 on db1t1.id=db1t2.id
這個查詢將在一個巨大的表
在'db1t1.datestamp'和'db1t2.datestamp'相等的情況下,即使它低於另外兩個,也會將該值設置爲db1t3.datestamp。 – TZHX 2015-02-05 13:18:55
這幾乎是你如何做到這一點(銘記TZHX的說法,並且如果你爲自己設定價值,你可能會省下一點努力)。如果這些表格在id上鍵入,你會很難按照數據的大小做出很大的改變。 – Xedni 2015-02-05 13:21:55