他們我有一個表(名爲UserAccess)這樣設計...在表中插入行,以模仿其他行,只有當不存在
[ID], [UserID], [Active]
我有一個表(名爲UserAccounts)這樣設計...
[UserID], [Password], [Group]
在UserAccess表目前我有以下數據...
1203, 'user1', 1
1203, 'user2', 1
1203, 'user4', 1
1202, 'user1', 1
1203, 'user8', 1
1202, 'user6', 1
1206, 'user2', 1
1205, 'user2', 1
1204, 'user1', 1
1204, 'user6', 1
在UserAccounts表目前我有以下數據...
'user1', 'password', 'group1'
'user2', 'password', 'group10'
'user3', 'password', 'group1'
'user4', 'password', 'group4'
'user5', 'password', 'group10'
'user6', 'password', 'group10'
'user7', 'password', 'group2'
'user8', 'password', 'group10'
我想爲屬於「組10」的用戶,讓他們模仿的每一行的「添加新行用戶2'不存在到UserAccess表中。作爲示例,結果應該是...
1203, 'user1', 1
1203, 'user2', 1
1203, 'user4', 1
1202, 'user1', 1
1203, 'user8', 1
1202, 'user6', 1
1206, 'user2', 1
1205, 'user2', 1
1204, 'user1', 1
1205, 'user6', 1
* 1203, 'user5', 1
* 1206, 'user5', 1
* 1205, 'user5', 1
* 1203, 'user6', 1
* 1206, 'user6', 1
* 1206, 'user8', 1
* 1205, 'user8', 1
新結果顯示添加的行是在它們前面帶有星號的行。什麼是實現這一目標的最佳方式?我試圖用這樣的東西,但似乎無法得到我以後的結果,老實說,我似乎無法接近我想要的...
注意:@UserId
應該改變通過每個用戶。
DECLARE @ModelId varchar(30); SET @ModelId = 'user2';
INSERT INTO UserAccess ([ID], [UserID])
SELECT [ID], @UserId, FROM UserAccess
WHERE [UserID] = @ModelId
謝謝!
我忘了補充,我試着用一些'INNER JOIN'語句也沒有運氣...:/ –
'UserAccess'中的'ID'字段是如何生成的? – toonice
從不同的表格。在另一個名爲'Task'的表中,它會自動生成,並且手動設置幾個字段。但是如果可能的話,我想遠離「那個」表。 –