当前位置: 首页 > 面试题库 >

SQL单行子查询返回多个行

全丰
2023-03-14
问题内容

以下查询应返回从动漫中扮演角色的人物的姓名。但我收到以下错误:

Blockquote ORA-01427:单行子查询返回多个行

SELECT P.NAME, 
FROM DBS_PERSON P
WHERE P.ID = (
    SELECT VA.PERSON_ID
    FROM DBS_VOICEACTOR VA
    WHERE VA.PERSON_ID = (
        SELECT AA.PERSON_ID
        FROM DBS_ACTSAS AA
        WHERE AA.CHARACTER_ID = (
            SELECT C.ID
            FROM DBS_CHARACTER C
            WHERE C.ID = (
              SELECT PI.CHARACTER_ID
              FROM DBS_PLAYSIN PI
              WHERE PI.SERIE_ID = (
                SELECT S.ID
                FROM DBS_SERIE S
                WHERE S.ID = '1')))));

提前致谢!


问题答案:

代替

WHERE <field_name> = (SELECT ...

使用

WHERE <field_name> IN (SELECT ...

查询中有5个条件需要更改。

UPD 另外,您的查询等同于

SELECT P.NAME
FROM DBS_PERSON P
     join DBS_ACTSAS AA  on P.PERSON_ID = AA.PERSON_ID
     join DBS_PLAYSIN PI on AA.CHARACTER_ID = PI.CHARACTER_ID
     join DBS_SERIE S    on PI.SERIE_ID = S.ID
WHERE S.ID = '1';


 类似资料:
  • 问题内容: 桌子: 我的查询: 我收到“ MySQL子查询返回多个行”错误。 我知道此查询可以使用以下查询的解决方法: 然后使用php循环遍历结果并执行以下查询以获取和回显它: 但是我认为可能会有更好的解决方案? 问题答案: 简单的解决方法是在子查询中添加一个子句: 一个更好的选择(就性能而言)是使用联接:

  • 问题内容: 此查询有什么问题? 我有错误 ORA-01427:单行子查询返回多个行 01427。00000-“单行子查询返回多个行” 问题答案: 这是您的查询: 这样使用的子查询称为 标量子查询 。可以在可以使用标量值(即单个值,例如数字或字符串)的地方使用此类子查询。 标量子查询必须满足两个条件: 它最多返回一行。 它返回一列。 您的解决方案很简单,使用以下命令: 或者,在Oracle 12C中

  • 问题内容: 我的查询导致以下错误: 消息512,级别16,状态1,过程Item_insupd,第17行 子查询返回了多个值。当子查询遵循=,!=,<,<=,>,> =或将子查询用作表达式时,不允许这样做。 询问: 我怀疑这种情况的发生是因为我的子查询不包含,但是不幸的是,我不知道如何构造正确的子句。 问题答案: 我怀疑问题出在此字符串中(您的代码中的第26行): 看起来像返回多个行,所以您遇到了错

  • 问题内容: 我正在执行此查询: 我正在尝试使其返回如下内容: 但是,我得到了错误: #1242-子查询返回的行数超过1。 我尝试将语句放置在子查询中,但是收到无效的语法错误。 问题答案: 您可以使用简单的分组方式在没有子查询的情况下进行尝试: 使用GROUP BY时,未分组的任何列都必须具有聚合子句(fe SUM或COUNT。)因此,在这种情况下,您必须对县名称,precienct.id和prec

  • 此查询由Django ORM使用RAWSQL生成: 这是一个错误 1242-子查询返回超过1行 这是子查询的结果 我读了MYSQL文档,但我不明白为什么返回两行会有问题。我试过很多替代方法。 问题出在哪里?

  • 问题内容: 我想知道以下内容: 如何从数据库中的多个表中获取数据? 有哪些类型的方法可以做到这一点? 什么是联接和工会,它们之间有何不同? 什么时候应该使用每个与其他比较? 我打算在我的应用程序(例如,PHP)中使用此功能,但是不想对数据库运行多个查询,我需要在单个查询中从多个表中获取数据的哪些选项? 注意:我正在写这篇文章是因为我希望能够链接到有关我在PHP队列中不断遇到的众多问题的书面指南,因