所以我遇到了查询问题,我真的不知道在哪里。注释放在语法错误的位置。查询要大得多,我试图缩短它以进行有效但更整洁的查询。
这是使用odbc连接到Progress数据库。我被告知它使用严格的SQL-92。
SELECT itemcust."item-cust",
itemcust."cust-no",
corptreeCust.code
FROM pub."item-cust" itemcust
JOIN pub.customer cust
left join pub.salesstructcustomer struct
on ( struct."corp-cust-type" = cust."corp-cust-type"
and struct."corp-cust-num" = cust."corp-cust-num"
)
left join pub.corptree corptreeCust
on ( corptreeCust.uid = struct.corptreeid /* program says SQL Syntax error here */
and corptreeCust.category = 'store'
)
where ( itemcust."in-entity" = {$entity} or itemcust."in-entity" = '*')
and itemcust."item-no" = {$itemno}
and ( itemcust."cust-no" = {$custno} or itemcust."cust-no" = '*')
and cust."cust-no" = {$custno}
谢谢!
答案 0 :(得分:6)
pub.salesstructcustomer
的表格别名是struct
,而不是加入时引用的structc
。
答案 1 :(得分:5)
答案 2 :(得分:3)
在cust和itemcust之间似乎没有on子句。这肯定会让解析器混淆在查询中进一步抛出错误
答案 3 :(得分:0)
首先,我很感激回应。没有ON条款的事实是一个严重的问题,但实际上并不是真正的问题。
问题实际上是uid
是保留字,而我必须将其corptreeCust.\"uid\"
=(