SQL Server 多表Update 及其排序

2022-03-07 21:10:37 字數 932 閱讀 5900

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才是我需要的.以前從沒注意的問題.

Sql Server多表查詢

同庫操作 select a.列名1,b.列名2,a.列名3 from 表名1 as a join 表名2 as b on a.關聯字段 b.關聯字段 不同庫操作 select a.列名1,b.列名2,a.列名3 from 庫名1.dbo.表名1 as a join 庫名2.dbo.表名2 as b ...

SQLServer多表聯查,多表分頁查詢

多表聯查 select p.s.sheng i.shi from dbo productrecordinfo 表名 p left join shenginfo s on p.shenginfo s.shengid 使用left join左連線 讓兩個表中的指定字段產生連線關係 left join s...

sql server多表關聯update

一般都是寫的單錶update語句,很少寫多表關聯的update,但是事實上,在sql server中,update的多表連線更新和select的多表連線查詢在使用的方法上其實並沒有多大區別。直接上乙個例子就好了。update aaa set aaa.name bbb.name from user 0...