【发布时间】:2021-12-02 00:43:21
【问题描述】:
我正在尝试做这样的事情:
query = (
"select mandant,posnr,"
"lieferbedingung,nrkreis_nr"
"from eakopf_t where posnr[10,10] = \" \" , and posnr[1,2] not in (\"99\",\"RE\",\"UB\")"
"and mandant <> 999;"
)
queryset += [(query, filename)]
df = pd.read_sql(query, engine.connect())
但我收到此错误:
SQLNumResultCols failed: [IBM][CLI Driver][IDS/UNIX64] A syntax error has occurred. SQLCODE=-201
我猜它是因为引号,但我不知道如何修改它。 我已经尝试过不使用反斜杠了
[SQL: select mandant,posnr,systemdat,fk_kto_auf,fk_kto_not1,fk_kto_not2,fk_kto_empf,fk_kto_adr5,fk_kto_adr6,fk_kto_adr7,fk_kto_adr8,fk_kto_adr9,adr_auftraggeber,anzahl_kolli,volumen,gewicht,lieferbedingung,aufdat,ankdat,versandort,modus,ladehafen,loeschhafen,bereich,nrkreis_nr from eakopf_t where posnr[10,10] = " " , and posnr[1,2] not in ("99","RE","UB") and mandant <> 999;]
【问题讨论】:
-
请注意,您打印的消息与您引用的 SQL 语句不匹配。您引用的错误字符串中的问题不是 FROM 与前面的列名的连接,而是 WHERE 条件中间的杂散逗号 -
…,nrkreis_nr from eakopf_t where posnr[10,10] = " " , and…; AND 之前的逗号是语法错误。这在我的回答末尾提到。 -
请注意,打印 SQL(
query中的值)将有助于揭示问题。这是一个非常。调试 SQL 操作的基本部分,IMO。
标签: sql pandas sqlalchemy informix