[TSQL] 使用 UPDATE FROM INNER JOIN 子句來變更資料

這是Dotjum今天遇到的問題,有一個Table最近要新增一個欄位進去,
新增之後當然預設都是Null,而這個master的Table所新增的欄位,
會從Detail的Table中,對應 UrlID,取出一筆最先處理的代號,在進行更新到Master的新增欄位。
1.目前Master 的Table 缺的欄位

SELECT

FROM




 UrlID,DateAdded,BlogID 
 dbo.BookmarkUrls
 

2.Detail 的Table 取出最先新增的代號

SELECT

FROM

WHERE




 UrlID,blogID 
  dbo.BookmarkLinks 
 UrlID = 8344
 

3.先透過查詢 Detail Table 最先新增的代號,在跟Master Table INNER JOIN,
  在做 Update 的命令。


UPDATE

SET

FROM

INNER

JOIN

-- 找出Detail Table 最先新增的那筆資料

SELECT

FROM

as

WHERE

IN

SELECT

MIN

FROM

AS

GROUP

BY

AS

ON




 BookmarkUrls

 BookmarkUrls.BlogID = D.BlogID
 

 dbo.BookmarkUrls 
 

(



  LinkID,UrlID,BlogID  
 dbo.BookmarkLinks  
 i

  LinkID 

    (
    
 
(LinkID )
    
 BookmarkLinks 
 i2      
    
 
(UrlID)     
    )
) 
 D

 BookmarkUrls.UrlID = D.UrlID
結果如下圖


 

參考資源:

[TSQL]查詢指定分類下最新一筆的資料
http://technet.microsoft.com/zh-tw/library/ms191492(SQL.100).aspx
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值