[英]SQL Server : problem updating a counter type column in a table. All rows get the same value and they should not
[英]SQL Server: Updating rows with dependencies in the same table
這里有CSBaumkontakt
表,在這個表中我已經聯系了人員和公司。 CSBaumkontakt
是一個像這樣的樹結構:
[+] master company (Root)
[+] company (Dad)
[+] contact person
聯系人的公司( Dad
)與公司的DadPubIndex
和RelPubIndex
連接。 並且僅當公司的Dad
和Root
與聯系人的Root
相同時,該應用程序才能正常運行。 這意味着聯系人的RootPubIndex
必須與公司的DadPubindex
和RootPubindex
相同。 但這並非總是如此。
更改前請參見下圖:
聯系人
[RelPubIndex] [9FC6CD387AE91B46A471E1B82963E36A]
[RooPubIndex] [F7BC36A0-AD4F-49D5-B4FC-AD529C7EA738]
[DadPubIndex] [2143640C-3ABF-440C-B094-2128F4495874]
[class] [contact person]
聯系人的公司
[RelPubIndex] [2143640C-3ABF-440C-B094-2128F4495874]
[RootPubIndex] [D66035CB-B7AD-4D54-9FC7-AE6E7F32662D]
[DadPubIndex] [D66035CB-B7AD-4D54-9FC7-AE6E7F32662D]
[class] [company]
更改后 ,它看起來像這樣:
聯系人
[RelPubIndex] [9FC6CD387AE91B46A471E1B82963E36A]
[RooPubIndex] [D66035CB-B7AD-4D54-9FC7-AE6E7F32662D]
[DadPubIndex] [2143640C-3ABF-440C-B094-2128F4495874]
[class] [contact person]
聯系人的公司
[RelPubIndex] [2143640C-3ABF-440C-B094-2128F4495874]
[RootPubIndex] [D66035CB-B7AD-4D54-9FC7-AE6E7F32662D]
[DadPubIndex] [D66035CB-B7AD-4D54-9FC7-AE6E7F32662D]
[class] [company]
現在我需要一個UPDATE
腳本設置RooPubIndex
每個聯系人到的DadPubindex
/ RootPubIndex
(如果是相同的,但它通常應該是這樣)從其公司。
我有點不知所措,如何連接同一表中的那些行以用所需的值UPDATE
記錄。 我該怎么做?
我想我已經解決了。 仍然需要檢查數據,但似乎可行。
update csbaum1 set csbaum1.rootpubindex = csbaum2.DadPubIndex
from CSBaumKontakt as csbaum1
inner join CSBaumKontakt as csbaum2
on csbaum1.DadPubIndex = csbaum2.RelPubIndex
where csbaum1.Klasse = 'contact person'
and csbaum1.RootPubIndex <> csbaum2.DadPubIndex
and csbaum2.RootPubIndex = csbaum2.dadpubindex
謝謝閱讀。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.