Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql “接收”;单行子查询返回多行;错误_Sql_Oracle_Subquery - Fatal编程技术网

Sql “接收”;单行子查询返回多行;错误

Sql “接收”;单行子查询返回多行;错误,sql,oracle,subquery,Sql,Oracle,Subquery,我试图返回一组特定月份给定“帐户”的属性。帐户定义为三个属性的串联。我的代码如下。子查询本身在单独运行时是功能性的,但在SELECT和WHERE子句中使用时不起作用。我正在使用Oracle SQL Developer运行查询。如果有一种方法可以修改此查询,使其返回任何/所有适用的记录,这将非常好。任何帮助都将不胜感激 错误消息: ORA-01427:单行子查询返回多行 142700000-“单行子查询返回多行” *原因: *行动: 编辑: 谢谢@Ankit Bajpai。您建议的代码工作正常,并

我试图返回一组特定月份给定“帐户”的属性。帐户定义为三个属性的串联。我的代码如下。子查询本身在单独运行时是功能性的,但在SELECT和WHERE子句中使用时不起作用。我正在使用Oracle SQL Developer运行查询。如果有一种方法可以修改此查询,使其返回任何/所有适用的记录,这将非常好。任何帮助都将不胜感激

错误消息: ORA-01427:单行子查询返回多行 142700000-“单行子查询返回多行” *原因:
*行动:

编辑:
谢谢@Ankit Bajpai。您建议的代码工作正常,并为我输入的所有指定的串联“派生属性”返回一条记录

您不需要三次选择同一个表,因为您已经从表中选择了数据。你可以试试下面的查询-

SELECT MONTH_KEY
      ,CAST(NUMBER_ATTRIBUTE_1 ||
            SUBSTR((10000000000 + NUMBER_ATTRIBUTE_2),-10,10) ||
            SUBSTR((10000000000 + NUMBER_ATTRIBUTE_3),-10,10) AS VARCHAR(32)) AS DERIVED_ATTRIBUTE
      ,NAME
      ,ANOTHER_VARIABLE
FROM TABLE
WHERE CAST (NUMBER_ATTRIBUTE_1 ||
            SUBSTR((10000000000 + NUMBER_ATTRIBUTE_2),-10,10) ||
            SUBSTR((10000000000 + NUMBER_ATTRIBUTE_3),-10,10) AS VARCHAR(32)) =  (12345678900000000010000000001)
AND MONTH_KEY = 201903

请向我们展示整个查询。运行WHERE子句独立查询并查看它返回的行数。标量子查询(选择项中的(select…)语句-别名为派生属性)返回1行以上。如果@ Ankit Bajpai提供了一个帮助您考虑的解决方案。接受的答案提高了其他求职者的网站质量。甚至只是说声谢谢作为对答案的评论,这比你问题中的编辑更清晰。
SELECT MONTH_KEY
      ,CAST(NUMBER_ATTRIBUTE_1 ||
            SUBSTR((10000000000 + NUMBER_ATTRIBUTE_2),-10,10) ||
            SUBSTR((10000000000 + NUMBER_ATTRIBUTE_3),-10,10) AS VARCHAR(32)) AS DERIVED_ATTRIBUTE
      ,NAME
      ,ANOTHER_VARIABLE
FROM TABLE
WHERE CAST (NUMBER_ATTRIBUTE_1 ||
            SUBSTR((10000000000 + NUMBER_ATTRIBUTE_2),-10,10) ||
            SUBSTR((10000000000 + NUMBER_ATTRIBUTE_3),-10,10) AS VARCHAR(32)) =  (12345678900000000010000000001)
AND MONTH_KEY = 201903