我需要在两个表上进行外连接,当我在SQuirrel客户端中运行它时工作正常,但是当使用带有Spring JDBC Template类的Phoenix JDBC驱动程序从java代码运行时,它不起作用。
在带有Spring JDBC Template类的java中运行时,程序被挂起并且从日志中看起来它正在尝试获取连接,但是没有得到它。但是,当我将其更改为Inner Join(在相同的SQL中)时,它可以正常工作。因此,它无法获得连接,这看起来并不正确。以下是我在日志中看到的内容:
DEBUG o.s.jdbc.datasource.DataSourceUtils : Fetching JDBC Connection
from DataSource
以下是我正在运行的SQL:
select acct.internal_account_id, acct.effective_date,
count(alrt.node_id) as alert_count
from ACCOUNT_CONTEXT acct
left outer join ( select internal_account_id, effective_date, node_id
from ALERT_CONTEXT where node_id in (1,2,5,6,7,8,24,58,59,75) ) as
alrt on acct.internal_account_id=alrt.internal_account_id and
acct.effective_date=alrt.effective_date where acct.internal_account_id
in (?, ?, ?, ?, ?, ?) and acct.effective_date = ? group by
acct.internal_account_id, acct.effective_date