我不知道這個問題的標題是否有意義,但請允許我解釋我的問題。插入選擇單個結果在同一個表中的多行
我有這樣的桌子。
DocTag表
DocId | TagId
10 | 8
10 | 45
11 | 2
11 | 15
12 | 9
12 | 32
13 | 8
13 | 15
變量表
TagId | TagName
8 | HomePage
2 | Private
45 | IssuerNameOne
15 | IssuerNameTwo
32 | IssuerNameThree
9 | TagThatNeedsToBeSkipped
3000 | NewTag
DocTag表包含文檔和標籤表FK的。現在,我必須選擇那些標籤帶有8或2和其他ID(例如:45,32,15)標籤的文檔,並且當我在該表中找到該文檔時,我必須插入[DocId | 3000],其中3000是新標籤的標識。
換句話說,我必須選擇屬於HomePage或Private以及提到的發佈者之一的文檔併爲該文檔分配新標籤。
我有數以百萬計的文件和數百個標籤,以及72個不同的發行者,所以我想我必須爲每個發行者執行72次查詢。
對於選擇查詢 「IssuerNameOne」 的結果應該是:
DocId
10
由於8和45 TagIds。
對於選擇查詢 「IssuerNameTwo」 的結果應該是:
DocId
11
13
由於2,8和15 TagIds。
插入執行後,DocTag應該看起來像這樣:
DocId | TagId
10 | 8
10 | 45
11 | 2
11 | 15
12 | 9
12 | 32
13 | 8
13 | 15
10 | 3000
11 | 3000
13 | 3000
謝謝您的幫助。它看起來像一個工作解決方案,不幸的是我不能在星期一之前測試它,所以我會在稍後發佈。 再次感謝。 – bajicdusko
雖然我放棄了插入新標籤的解決方案,但這是正確的答案。 @Mark答案几乎相同。由於語法更清晰,這一個被加入。 謝謝。 – bajicdusko