【发布时间】:2014-04-02 06:34:26
【问题描述】:
我正在查询一个班级,我需要根据宠物主人是否拥有吉娃娃来选择宠物主人的姓名。
我必须使用两个表,PetOwner 和 Pet。 PetOwner 有一个所有者编号(ownerNo),所有者名称(oLName,oFName),而 Pet 有一个所有者编号和 petType。这是我尝试使用的代码:
SELECT
PetOwner.oFName,
PetOwner.oLName
FROM
PetOwner,
Pet
WHERE
PetOwner.ownerNo = (SELECT
Pet.ownerNumber
FROM
Pet
WHERE
Pet.petType = 'Chihuahua'
);
错误提示“以“Pet.petTyp...”开头的未知命令 - 忽略行的其余部分。”我知道问题出在 WHERE 子句中,但我似乎无法将其调整到可以工作的位置,我相信答案是显而易见的。
我只需要第二双眼睛来看看它。
我该怎么做?
【问题讨论】:
-
什么样的未知错误,例如错误号:spxxxxx
-
我认为在子查询中您没有编写顶部子句并使用 = 运算符检查该结果。有区别吗?
-
为您的子查询表提供别名。查看我的答案以获取详细信息。
-
如果您使用的是 SQL*Plus(它是 Oracle 的命令行客户端),为什么要使用
mysql标记它。您真正使用的是哪个 DBMS?