我有两张桌子,一张用于门科技,另一张用于将这些门技术分配到我们的商店。单个商店可以有多个门技术。技术人员都获得了一个ID,这就是它们存储在商店表中的方式。一个例子是GateTechA的ID为1。商店5的主门技术是1.当我显示它加入表格的信息并获得名称时,我可以一次设置一个,但是当我尝试做两个时,我得到错误。
下面的代码不起作用,但我认为最好描述我想要做的事情。在下面的例子中,我设置了商店31的推拉门和平开门技术。如果我只做一个,它可以工作,但是当我尝试做多个时,我会在进行相关时遇到失败,我认为这是我搞砸的地方。
非常感谢任何帮助。
update dbo.tblStoreTechAssignments
Set strDoorSliding = intGateKey, strDoorSwing = intGateKey
From dbo.tblGateTechs
JOIN
dbo.tblStoreTechAssignments on strGateTechName = 'Test Tech 2'
Join
dbo.tblStoreTechAssignments on strGateTechName = 'testtec3'
where intStoreNumber = 31
进一步解释 @GordonLinoff
有商店技术的表:
tblStoreTechAssignments
intStoreNumber | strDoorSliding | strDoorSwing
1 100 102
2 103 105
31 105 106
有技术的表:
tblGateTechs
strGateTechName | intGateKey
Test Tech 2 100
testtec3 102
运行update和tblStoreTechAsisgnements
intStoreNumber | strDoorSliding | strDoorSwing
31 100 102
答案 0 :(得分:1)
可能会有所帮助 -
update dbo.tblStoreTechAssignments
Set
strDoorSliding = (select intGateKey from dbo.tblStoreTechAssignments where strGateTechName = 'Test Tech 2'),
strDoorSwing = (select intGateKey from dbo.tblStoreTechAssignments where strGateTechName = 'testtec3')
From dbo.tblGateTechs
where intStoreNumber = 31