有二个表
表1字段:序号(int,自增型) 整单折扣
1 0.8
表2字段:序号(int,自增型) 商品编号 商品名 销售数量 销售单价 销售金额
1 123 A品 2 6.5 13
2 223 B品 2 6.0 12
3 323 C品 3 3.5 10.5
我想把表2的所有记表全部修改成销售单价*整单折扣,销售金额*整单折扣,其结果如
1 123 A品 2 5.2 10.4
2 223 B品 2 4.8 9.6
3 323 C品 3 2.8 8.4
求update语句
表1字段:序号(int,自增型) 整单折扣
1 0.8
表2字段:序号(int,自增型) 商品编号 商品名 销售数量 销售单价 销售金额
1 123 A品 2 6.5 13
2 223 B品 2 6.0 12
3 323 C品 3 3.5 10.5
我想把表2的所有记表全部修改成销售单价*整单折扣,销售金额*整单折扣,其结果如
1 123 A品 2 5.2 10.4
2 223 B品 2 4.8 9.6
3 323 C品 3 2.8 8.4
求update语句
-- Author :DBA_Huangzj(發糞塗牆)
-- Date :2013-04-14 12:57:06
-- Version:
-- Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (Intel X86)
-- Jun 17 2011 00:57:23
-- Copyright (c) Microsoft Corporation
-- Enterprise Edition on Windows NT 6.1 <X86> (Build 7601: Service Pack 1)
--
----------------------------------------------------------------
--> 测试数据:[A]
if object_id('[A]') is not null drop table [A]
go
create table [A]([序号] int,[整单折扣] numeric(2,1))
insert [A]
select 1,0.8--> 测试数据:[B]
if object_id('[B]') is not null drop table [B]
go
create table [B]([序号] int,[商品编号] int,[商品名] varchar(3),[销售数量] int,[销售单价] numeric(2,1),[销售金额] numeric(3,1))
insert [B]
select 1,123,'A品',2,6.5,13 union all
select 2,223,'B品',2,6.0,12 union all
select 3,323,'C品',3,3.5,10.5
--------------开始查询--------------------------
UPDATE [B]
SET [B].[销售单价]=[B].[销售单价]*[整单折扣],[B].[销售金额]=[B].[销售金额]*[整单折扣]
from [B] CROSS JOIN [A] SELECT * FROM [B]
----------------结果----------------------------
/*
序号 商品编号 商品名 销售数量 销售单价 销售金额
----------- ----------- ---- ----------- --------------------------------------- ---------------------------------------
1 123 A品 2 5.2 10.4
2 223 B品 2 4.8 9.6
3 323 C品 3 2.8 8.4*/