我有一个有趣的要求 - 我需要连续使用第一个单元格的值来确定一行中第四个单元格的值。通常情况下,这将在应用程序级别或函数内处理,但我在常规选择查询中执行此操作。
以下是详细信息。
1)我有一个简单的查询(从D中选择A,B,C)正确返回以下内容
1 | 2 | 3
2)我有一个函数利用第一个查询中返回的值并返回一个值
select function_x('1') from dual
准确地返回'Z'
我想连接所有这些,所以我得到以下内容:
1 | 2 | 3 | Z
我尝试了类似这样的查询,但它不起作用:
select A, B, C, (select function_x(A) from dual)
from D
当我将值硬编码到函数中时它起作用,但是当我尝试利用第一个返回值时它不起作用。
如果没有我创建功能,有没有可用的解决方案?
答案 0 :(得分:4)
select A, B, C, function_x(A) from D
答案 1 :(得分:-1)
我想通了,我不得不使用子查询:
select A, B, C, function_x(A) from (select A, B, C from D)