【SQL】Update inner join

http://www.dotblogs.com.tw/dotjum/archive/2008/06/23/4367.aspx

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

SELECT UrlID,DateAdded,BlogID FROM dbo.BookmarkUrls
image 
2.Detail 的Table 取出最先新增的代號
SELECT UrlID,blogID FROM  dbo.BookmarkLinks WHERE UrlID = 8344
image 
3.先透過查詢 Detail Table 最先新增的代號,在跟Master Table INNER JOIN,
  在做 Update 的命令。
UPDATE BookmarkUrls
SET BookmarkUrls.BlogID = D.BlogID
 FROM
 dbo.BookmarkUrls INNER JOIN
(
-- 找出Detail Table 最先新增的那筆資料
SELECT  LinkID,UrlID,BlogID  FROM dbo.BookmarkLinks  as i
WHERE  LinkID IN
    (
    SELECT MIN(LinkID )
    FROM BookmarkLinks AS i2      
    GROUP BY(UrlID)     
    )
) AS D
ON BookmarkUrls.UrlID = D.UrlID
結果如下圖

 

image 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值