SQL Server 多表Update 及其排序

1.工作中需要excel 导入到数据库,并修改相关表 导入就不提了.[商品修改价格] 导入的execl 表 SaleShopPrice 商品价格表

UPDATE SaleShopPrice
SET SaleShopPrice.SalePrice=商品修改价格.新销价
,SaleShopPrice.CostPrice=商品修改价格.新成本价
FROM SaleShopPrice,商品修改价格
WHERE  CAST(SaleShopPrice.SID AS VARCHAR(20))=CAST(商品修改价格.编号 as varchar(20))

这样就完成了一个表以另外一个表的条件和值进行修改.

2.临时表插入数据的两种方法

(1) select .... into  #o from table         插入数据到临时表

(2) insert into #o select ... from table  插入数据到临时表

两种区别在于 (1) 不需要先创建表结构,临时表会根据 select 的字段及其类型自动创建此类型的临时表,而(2)需要先创建表结构,然后才能插入数据到临时表

3.SQL 分组的注意事项

(1) select top 1 * from table order by t1 desc,t2 desc

(2) select top 1 * from table order by t1,t2 desc

这两种order by (2)用过很多,以前以为是根据t1,t2字段进行从大到小的排序.工作时需要取一条,根据2个字段进行排序,t1相等时根据t2取top1.使用(2)却发现怎么也不对.后来群里问,给了(1) 问了为啥才知道期间细节.原来 order by 默认是asc 进行排序.使用t1,t2 desc 时,实际上是t1 asc,t2 desc而 t1 desc,t2 desc才是我需要的.以前从没注意的问题.

转载于:https://www.cnblogs.com/wjbobo/archive/2012/08/05/2624051.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值