這是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
結果如下圖
參考資源: