繁体   English   中英

外部查询值无法在内部查询中使用

[英]Outer query value is not able use in inner query

SELECT 
    (select Email from Contact where AccountId = Account.Id),
    Id,
    BillingCity,
     BillingCountry,
     BillingPostalCode,
     BillingState,
     BillingStreet,
     Name,
     Phone 
FROM Account
 where 
 LastModifiedDate < #[flowVars['timestamp']]

这里的问题是我无法基于当前迭代的ID获取子查询中存在的电子邮件。 你能帮忙吗

我不确定您如何运行查询以及如何访问结果,但是如果您在无法动态获得结果的地方进行查询,则意味着您尝试按预期名称访问列,即尝试以某种方式获取“电子邮件”列,那么您需要修复查询中的一个小问题。

您需要添加AS运算符,以便为子查询赋予一个有意义的名称,例如email如下所示:

... 
(select Email from Contact where AccountId = Account.Id) as email, 
...

有关工作示例,请参见此处的小提琴db-fiddle

您可以摆脱标量子查询,而只需将联接放入CONTACT表中即可。 以下假定CONTACT表是可选关系。

SELECT 
    con.email,
    acct.Id,
    acct.BillingCity,
    acct.BillingCountry,
    acct.BillingPostalCode,
    acct.BillingState,
    acct.BillingStreet,
    acct.Name,
    acct.Phone 
FROM account acct
     LEFT OUTER JOIN 
     contact con ON con.account_id = acct.account_id
WHERE acct.LastModifiedDate < #[flowVars['timestamp']]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM