我正在尝试将表paycom中的行插入到表users中,我只想在唯一用户名不存在时插入它们。用户名是通过paycom表中的名字和姓氏的第一个字母生成的。我尝试过各种方法,但在比较user表中的username和paycom表中其他字段的组合时遇到了问题。我尝试过各种方法,但是它告诉我找不到multipart方法或者字段不存在。
你知道吗?
谢谢
/******Script for SelectTopNRows command from SSMS******/
INSERT INTO [test].[dbo].[tblUser] (
[FirstName]
,[LastName]
,[Email]
,[Location]
,[Active]
,[Position]
,[UserName]
)
SELECT [Firstname]
,[Lastname]
,[WorkEmail]
,[Department]
,1
,[JobTitleCode]
,LEFT(FirstName,1) + LastName + pin as t1
FROM Paycom
WHERE NOT EXISTS (Select UserName,UserId From [test].[dbo].[tblUser] WHERE tblUser.UserName =[test].[dbo].[tblUser].[Paycom].t1)
and HireDate >= GETDATE();
2条答案
按热度按时间iibxawm41#
把where子句写成这样。
请注意,这可能不是处理此问题的最有效方法,但应该可以让您开始。
kadbb4592#
好吧,我想出来了。我更新了paycom表以包含一个新的列,该列用于生成要导入到user表的username列。从那里我可以简化'where not exists'参数并正确运行insert。谢谢