27,579
社区成员
发帖
与我相关
我的任务
分享
----------------------------------------------------------------
-- Author :DBA_Huangzj(發糞塗牆)
-- Date :2014-01-09 07:29:44
-- Version:
-- Microsoft SQL Server 2012 (SP1) - 11.0.3128.0 (X64)
-- Dec 28 2012 20:23:12
-- Copyright (c) Microsoft Corporation
-- Enterprise Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: )
--
----------------------------------------------------------------
--> 测试数据:[YSDD]
if object_id('[YSDD]') is not null drop table [YSDD]
go
create table [YSDD]([XH] int,[ZBXH_CPBH] varchar(7),[DJ] numeric(3,2))
insert [YSDD]
select 172,'100M220',0.85 union all
select 194,'100M288',0.63 union all
select 120,'100M633',0.32 union all
select 150,'100M633',0.42 union all
select 162,'100M633',0.41
--> 测试数据:[CPRK]
if object_id('[CPRK]') is not null drop table [CPRK]
go
create table [CPRK]([ZBXH] int,[ZBXH_CPBH] varchar(7),[ZBXH_DJ] sql_variant)
insert [CPRK]
select 15823,'100M633',null union all
select 15823,'100M220',null union all
select 15823,'100M120',null
--------------开始查询--------------------------
UPDATE [CPRK]
SET [ZBXH_DJ] = b.dj
FROM ( SELECT dj ,
[ZBXH_CPBH]
FROM [YSDD] a
WHERE EXISTS ( SELECT 1
FROM ( SELECT MAX(xh) xh ,
[ZBXH_CPBH]
FROM [YSDD]
GROUP BY [ZBXH_CPBH]
) b
WHERE a.[ZBXH_CPBH] = b.[ZBXH_CPBH]
AND a.xh = b.xh )
) b
WHERE b.[ZBXH_CPBH] = [CPRK].[ZBXH_CPBH]
----------------结果----------------------------
/*
*/