问题描述
我有两个名为“客户”和“合同”的表。
查询:
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