sql="select 投资者代码,资金限制策略 from (select investorid 投资者代码,fundstrategyid 资金限制策略 from EPAYMENT2.T_INVFUNDSTRATEGYAPPLY)a left join \ (select investorid 资金账号,isactive 是否活跃 from SETTLEADMIN.T_INVESTOR \ ) b on a.投资者代码 = b.资金账号 where 是否活跃 == 1)"
时间: 2023-12-06 10:43:07 浏览: 28
这段 SQL 查询语句有一些问题,需要进行一些修改。
1. 在第一行查询语句中,应该把 `投资者代码` 和 `资金限制策略` 两个字段的名称用反引号括起来,以避免与关键字冲突。例如:
```
SELECT `投资者代码`, `资金限制策略` FROM ...
```
2. 在子查询中,应该使用 `AS` 关键字给临时表指定别名。例如:
```
SELECT investorid AS 投资者代码, fundstrategyid AS 资金限制策略 FROM EPAYMENT2.T_INVFUNDSTRATEGYAPPLY AS a ...
```
3. 在 `LEFT JOIN` 子句中,应该使用 `ON` 关键字指定连接条件,而不是使用 `==` 符号。例如:
```
LEFT JOIN SETTLEADMIN.T_INVESTOR AS b ON a.投资者代码 = b.investorid ...
```
综上所述,修改后的 SQL 查询语句应该是这样的:
```
SELECT `投资者代码`, `资金限制策略`
FROM (SELECT investorid AS 投资者代码, fundstrategyid AS 资金限制策略 FROM EPAYMENT2.T_INVFUNDSTRATEGYAPPLY AS a) AS a
LEFT JOIN (SELECT investorid AS 资金账号, isactive AS 是否活跃 FROM SETTLEADMIN.T_INVESTOR) AS b
ON a.投资者代码 = b.资金账号
WHERE b.是否活跃 = 1;
```