INSERT INTO 语句仅适用于那些还没有条目的人
INSERT INTO Statement only for those who don't have already an entry
我有 2 个表:cSc_UserClassSettings
和 cSc_User
我想 INSERT
来自 cSc_User
的 cSc_UserClassSettings
中的所有用户使用此 INSERT
语句:
INSERT INTO [cSc_UserClassSettings]
([RSRC]
,[Deleted]
,[DateNew]
,[DateChanged]
,[UserNew]
,[UserChanged]
,[camosGUID]
,[UserGUID]
,[ClassName]
,[WriteByOpen]
,[DefaultReadAccess]
,[DefaultWriteAccess]
,[Summary])
SELECT
0
,0
,getdate()
,NULL
,camosGUID
,NULL
,NEWID()
,camosGUID
,'cQ_RootOffer_C'
,0
,0
,0
,0
FROM [cSc_User]
但是有些用户已经在 cSc_UserClassSetting
中输入了条目,对于那些不应该输入的用户。
如果需要 cSc_UserClassSettings 在 cSc_User 上有一个外键 cSC_UserClassSettings.UserGUID = cSC_User.camosGUID
我试过这个:
INSERT INTO [cSc_UserClassSettings]
([RSRC]
,[Deleted]
,[DateNew]
,[DateChanged]
,[UserNew]
,[UserChanged]
,[camosGUID]
,[UserGUID]
,[ClassName]
,[WriteByOpen]
,[DefaultReadAccess]
,[DefaultWriteAccess]
,[Summary])
SELECT
0
,0
,getdate()
,NULL
,camosGUID
,NULL
,NEWID()
,camosGUID
,'cQ_RootOffer_C'
,0
,0
,0
,0
FROM [cSc_User]
WHERE NOT EXISTS(
select *
from cSc_UserClassSettings
where classname = 'cQ_RootOffer_C' and deleted = 0
)
但它 returns 0 个值。
我有什么解决办法吗?
提前致谢。
如果你想从 cSC_User
table 插入记录到 cSc_UserClassSettings
但那些还没有在 cSc_UserClassSettings
中,那么你可以试试这个 Select查询
SELECT
0
,0
,getdate()
,NULL
,camosGUID
,NULL
,NEWID()
,camosGUID
,'cQ_RootOffer_C'
,0
,0
,0
,0
FROM [cSc_User]
WHERE cSC_User.camosGUID NOT IN (
Select UserGUID
From cSc_UserClassSettings
)
我有 2 个表:cSc_UserClassSettings
和 cSc_User
我想 INSERT
来自 cSc_User
的 cSc_UserClassSettings
中的所有用户使用此 INSERT
语句:
INSERT INTO [cSc_UserClassSettings]
([RSRC]
,[Deleted]
,[DateNew]
,[DateChanged]
,[UserNew]
,[UserChanged]
,[camosGUID]
,[UserGUID]
,[ClassName]
,[WriteByOpen]
,[DefaultReadAccess]
,[DefaultWriteAccess]
,[Summary])
SELECT
0
,0
,getdate()
,NULL
,camosGUID
,NULL
,NEWID()
,camosGUID
,'cQ_RootOffer_C'
,0
,0
,0
,0
FROM [cSc_User]
但是有些用户已经在 cSc_UserClassSetting
中输入了条目,对于那些不应该输入的用户。
如果需要 cSc_UserClassSettings 在 cSc_User 上有一个外键 cSC_UserClassSettings.UserGUID = cSC_User.camosGUID
我试过这个:
INSERT INTO [cSc_UserClassSettings]
([RSRC]
,[Deleted]
,[DateNew]
,[DateChanged]
,[UserNew]
,[UserChanged]
,[camosGUID]
,[UserGUID]
,[ClassName]
,[WriteByOpen]
,[DefaultReadAccess]
,[DefaultWriteAccess]
,[Summary])
SELECT
0
,0
,getdate()
,NULL
,camosGUID
,NULL
,NEWID()
,camosGUID
,'cQ_RootOffer_C'
,0
,0
,0
,0
FROM [cSc_User]
WHERE NOT EXISTS(
select *
from cSc_UserClassSettings
where classname = 'cQ_RootOffer_C' and deleted = 0
)
但它 returns 0 个值。 我有什么解决办法吗?
提前致谢。
如果你想从 cSC_User
table 插入记录到 cSc_UserClassSettings
但那些还没有在 cSc_UserClassSettings
中,那么你可以试试这个 Select查询
SELECT
0
,0
,getdate()
,NULL
,camosGUID
,NULL
,NEWID()
,camosGUID
,'cQ_RootOffer_C'
,0
,0
,0
,0
FROM [cSc_User]
WHERE cSC_User.camosGUID NOT IN (
Select UserGUID
From cSc_UserClassSettings
)