gpt4 book ai didi

sql-server - 使用 Select 语句和聚合函数从另一个表更新表

转载 作者:行者123 更新时间:2023-12-04 04:32:29 25 4
gpt4 key购买 nike

下面是我在 SQL Server 2008 中的两个表的架构

Table 1

StartDate,EndDate,ID,country

Table 2

StartDate,EndDate,ID,country

我想像下面这样更新表 1
UPDATE t1 
SET t1.startdate=min(t2.startdate),
t1.enddate=max(t2.enddate)
FROM table1 t1,
table 2 t2
WHERE t1.country=t2.country
GROUP BY t2.country

目前我正在使用子查询来更新开始日期和结束日期,但我不喜欢那样。

请建议一些更好的解决方案

最佳答案

我想 SQL 2008 是 Sql Server 2008。因为 UPDATE ... FROM 不是标准的 ANSI 但只适用于 Sql Server

更新

试试这个:

update table1
set table1.startdate=t.l,
table1.enddate=t.u
from
(select MAX(t2.startdate) as l, MAX(t2.enddate) as u, t2.idcountry as idc
from table2 t2
where t2.idcountry = table1.idcountry
group by t2.idcountry) as t
where table1.idcountry = t.idc

关于sql-server - 使用 Select 语句和聚合函数从另一个表更新表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20347896/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com