我的表的结构如下:SQL语句从另一列更新三列
CREATE TABLE [dbo].[Ontledings](
[ont_ID] [int] IDENTITY(1,1) NOT NULL,
[plaasno] [varchar](50) NOT NULL,
[plaasnaam] [varchar](50) NOT NULL,
[blokno] [varchar](50) NOT NULL,
[plaasblok] [varchar](50) NULL,
[area] [varchar](50) NOT NULL,
[analisedatum] [date] NOT NULL,
[name3] [varchar](50) NULL,
[kultivar] [varchar](50) NOT NULL,
[wingklas] [varchar](50) NOT NULL,
[kultklas] [varchar](50) NULL,
[suiker] [real] NOT NULL,
[pH] [real] NOT NULL,
[suur] [real] NOT NULL,
[last] [date] NULL,
[secondlast] [date] NULL,
[thirdlast] [date] NULL,
CONSTRAINT [PK_Ontledings] PRIMARY KEY CLUSTERED
(
[ont_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
更新前表如下所示(仅适用于相关的栏目包括):
对于每个那么我需要根据analisedatum列(仅适用于当前年份)以该行的第三个,第二个和最后一个日期更新最后三列。这需要在plaasblok相同的所有行上完成。
得到的表应该是这样的:
更新三列与日期?而对于一个共同的价值,原始表中的共同价值是什么?你需要显示你的数据结构或DDL。 –
首先编写一个返回你想要的查询。这是否会返回你想要的部分:'SELECT Plaasblok,MIN(analiseddatum)GROUP BY Plaasblok。请指定SQL Server的版本,因为它看起来像wid夫功能会派上用场。 –