比方說,我在SQL Server 2008中,Users
,Site
和UserSite
3個表:尋找失蹤的連接表的SQL Server記錄
+-------+ +-------+ +-------------+
| User | | Site | | User Site |
+-------+ +-------+ +-------------+
| User1 | | Site1 | | User1 Site1 |
| User2 | | Site2 | | User1 Site2 |
| User3 | +-------+ | User1 Site3 |
+-------+ | User2 Site1 |
| User2 Site3 |
| User3 Site1 |
+-------------+
期望的結果:對於每個User
和Site
組合必須有一個記錄在UserSite
這樣的:
+-------------+
| User Site |
+-------------+
| User1 Site1 |
| User1 Site2 |
| User1 Site3 |
| User2 Site1 |
|*User2 Site2*| Inserted
| User2 Site3 |
| User3 Site1 |
|*User3 Site2*| Inserted
|*User3 Site3*| Inserted
+-------------+
我只能插入新記錄,並且不能從頭改寫表。
有沒有辦法與SQL Server做到這一點?
我不能截斷表。第二個查詢可能會起作用,我現在試試吧 – Szer
像魅力一樣工作。謝謝! – Szer
@Gordon爲什麼你的第二個查詢比用戶站點表字段爲空的「用戶站點」表的左外連接更可取? –