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运行良好。
任何想法为什么会这样或如何解决?
答案 0 :(得分: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,则也相应地更改它。例如,LEFT JOIN或RIGHT JOIN。