Sql MS Access:有条件地填充列值

Sql MS Access:有条件地填充列值,sql,ms-access,Sql,Ms Access,我已经阅读了一些关于使用Switch和Iff语句在Access中填充基于条件的值的问答。 我是一个比较新的访问,所以一点帮助将不胜感激 我有两张桌子,主人和宠物 表所有者具有以下字段: OwnerID , OwnerName , PetType , PetCommonName , OwnsAGarden 表Pet包含以下字段: Species , CommonName , NeedsAGarden 表Pet将宠物动物的学名映射到通用的、众所周知的学名。 表所有者在表中存在OwnerID、Ow

我已经阅读了一些关于使用Switch和Iff语句在Access中填充基于条件的值的问答。 我是一个比较新的访问,所以一点帮助将不胜感激

我有两张桌子,主人和宠物

表所有者具有以下字段:

OwnerID , OwnerName , PetType , PetCommonName , OwnsAGarden
表Pet包含以下字段:

Species , CommonName , NeedsAGarden
表Pet将宠物动物的学名映射到通用的、众所周知的学名。 表所有者在表中存在OwnerID、OwnerName、PetCommonName和OwnsAGarden的值。需要根据表Pet中的某些条件更新列PetType

我想要像这样的东西:

如果Pet.CommonName='Dog'和Pet.NeedsAGarden='Yes',则Owner.PetType='Outgoing Dog', 否则,如果Pet.CommonName='Dog'和Pet.NeedsAGarden='No',则Owner.PetType='interior Dog', 否则,如果Pet.CommonName=Owner.PetCommonName,则Owner.PetType=Pet.Species对应的值


我已尝试使用switch语句。前两个条件得到评估,表得到完美更新。然而,第三个条件似乎没有给出期望的结果。

在对备选方案进行了大量修补之后,我已经设法使用IIF语句解决了我的问题

我把密码改成

更新宠物内部加入所有者 在Pet.CommonName=Owner.PetCommonName上
设置Owner.PetType=IIFPet.PetCommonName='Dog',IIFPet.NeedsAGarden='Yes','Outgoing Dog','interior Dog',Pet.Species;请在使用开关的位置添加代码statement@Srikanth:我拥有的代码是-update Owner set Owner.PetType Switch Pet.CommonName='Dog'和Pet.NeedsAGarden='Yes','outing Dog',Pet.CommonName='Dog'和Pet.NeedsAGarden='No','indior Dog',Pet Pet.CommonName=Owner.PetCommonName,Pet.Species;我知道肯定出了什么问题。但是由于我没有太多的知识,我无法理解它。