1

sqlalchemy 正在为我生成这个查询:

SELECT INSTRUMENT_GROUP.id_imnt_grp AS "INSTRUMENT_GROUP_id_imnt_grp",INSTRUMENT_GROUP.nm_imnt_grp AS "INSTRUMENT_GROUP_nm_imnt_grp", INSTRUMENT_GROUP.type_imnt_grp AS "INSTRUMENT_GROUP_type_imnt_grp", anon_1."IMNT_GRP_MEMBERS_id_imnt_grp" AS "anon_1_IMNT_GRP_MEMBERS__1" FROM (SELECT IMNT_GRP_MEMBERS.id_imnt_grp AS "IMNT_GRP_MEMBERS_id_imnt_grp" FROM IMNT_GRP_MEMBERS WHERE 452 = IMNT_GRP_MEMBERS.id_imnt) AS anon_1 JOIN INSTRUMENT_GROUP ON INSTRUMENT_GROUP.id_imnt_grp = anon_1."IMNT_GRP_MEMBERS_id_imnt_grp" ORDER BY anon_1."IMNT_GRP_MEMBERS_id_imnt_grp"

但是,它不会通过 sqlalchemy 运行,而是通过 pyodbc 使用 Sybase 15.5 驱动程序。但是,它使用 jconnect 驱动程序通过 SQuirreL SQL 运行良好。

任何想法为什么会这样或如何解决?

4

1 回答 1

0

如果您正在执行 INNER JOIN,请尝试通过在 JOIN 之前添加单词 INNER 来更改查询的 JOIN 部分。

anon_1 INNER JOIN INSTRUMENT_GROUP 
ON INSTRUMENT_GROUP.id_imnt_grp = anon_1."IMNT_GRP_MEMBERS_id_imnt_grp"

如果它是 LEFT 或 RIGHT OUTER JOIN,那么也相应地更改它。例如左连接或右连接。

于 2012-06-05T08:25:23.480 回答