在派生列中使用SUBSTR函数时,获取列不存在错误

问题描述

我有两个名为“客户”和“合同”的表。

查询:

    Select 
   cu.A||cu.B||Co.C||Co.D as DUMMY,(SUBSTR(DUMMY,25,1) as NEND,SUBSTR(DUMMY,1,19) as MDATE
    from Customer Cu
    Left Outer Join Contract Co
    on Cu.A=Co.D

因此,在运行此查询时,出现诸如“ DUMMY列不存在”之类的错误

任何人都可以帮助我如何实现这一目标。

解决方法

DUMMY是别名,因此无法像您一样在同一查询中引用它。

如果要使用substr别名,则必须将整个查询作为子查询。然后,您可以使用select dummy,substr(dummy,25,1) as nend,1,19) as mdate from ( select cu.a||cu.b||co.c||co.d as dummy from customer cu left outer join contract co on cu.a = co.d ); 函数,如下所示:

{
  "personalizations": [
    {
      "to": [
        {
          "email": "recipient@outlook.com"
        }
      ],"subject": "Postman Sendgrid email Test"
    }
  ],"from": {
    "email": "sender@outlook.com"
  },"content": [
    {
      "type": "text/plain","value": "Hello,World!"
    }
  ]
}
,

使用子查询或CTE的另一种方法是使用横向联接来定义列:

select s.DUMMY,SUBSTR(s.DUMMY,1) as NEND,19) as MDATE
from Customer Cu left join
     Contract Co
     on Cu.A = Co.D left join lateral
     (select cu.A || cu.B ||C o.C || Co.D as dummy
      from dual
     ) s

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...