0

这是我的问题的简化版本:

Table 1
Key1, lastdate, lasttranstype

Table2
Table1key1, trandate, trantype

我想要一条 SQL 语句使用 Table2 中具有最新日期的匹配记录来更新 table1 上每个记录的 lastdate 和 lasttransdate

我的数据库是进步的。

这可能吗(我当然可以写一个程序来做,但我宁愿只用一个 SQL 语句来做)?

4

2 回答 2

1

在 T-SQL 中:

UPDATE Table1 
SET lastdate = trandate, lasttranstype = trantype
FROM Table1 INNER JOIN Table2 ON Table1.Key1 = Table2.Table1Key1

编辑:我不知道 Progress 是 RDBMS 的名称。以下内容对您有用吗?

UPDATE Table1
SET lastdate = 
(SELECT trandate FROM Table2 WHERE Table2.Table1Key1 = Table1.Key1),
lasttranstype = 
(SELECT trantype FROM Table2 WHERE Table2.Table1Key1 = Table1.Key1)
于 2009-10-22T12:15:34.813 回答
0
update table1, table2 
set table1.lastdate = table2.trandate, table1.lasttranstype = table2.trantype 
where table1.key1 = table2.table1key1
于 2009-10-22T12:07:50.803 回答