我希望将一个表(requester.rqgroup)中选定行的列设置为另一表(groups.grpnum)中选定列的值,一次更新一次。
当我运行此查询时:
更新请求者
SET rqgroup =(从组名称为“ Hosting Open Sys Engineering”的组中选择grpnum)
AND(Whererequesters.name LIKE'J.Smith')
已正确为J.Smith为名称的行设置了rqgroup值,但所有其他行的rqgroup值均设置为零。
有什么建议吗?
新年快乐,
乔纳·贾科洛尼(Jonah Giacalone)
最佳答案
您无需两次键入where
,这就是使此奇怪的事情发生的原因。
运行此命令:
UPDATE requesters SET rqgroup = (SELECT grpnum from groups WHERE groupname like 'Hosting Open Sys Engineering') WHERE requesters.name LIKE 'J. Smith')
另外,由于您的
like
语句用于查找具有准确输入的结果,而不是like
,因此只需使用=
UPDATE requesters SET rqgroup = (SELECT grpnum from groups WHERE groupname = 'Hosting Open Sys Engineering') WHERE requesters.name = 'J. Smith')
更快(我认为)