Tsql sybase iq动态查询中的语法错误

Tsql sybase iq动态查询中的语法错误,tsql,sybase,Tsql,Sybase,我是Sybase IQ新手,当我尝试执行此代码时,会显示一个错误 无法执行该语句。第1行SELECT附近的语法错误 请帮我修一下 提前感谢您错过了第二次查询内部联接的括号 你必须使用like ... INNER JOIN (SELECT * FROM E$_auditemp_trg ) B ... -- ^ you need to enclose here 分期付款 INNER JOIN (SELECT *

我是Sybase IQ新手,当我尝试执行此代码时,会显示一个错误

无法执行该语句。第1行SELECT附近的语法错误

请帮我修一下

提前感谢

您错过了第二次查询内部联接的括号

你必须使用like

... INNER JOIN (SELECT * FROM E$_auditemp_trg ) B ...
                                           -- ^ you need to enclose here
分期付款

INNER JOIN (SELECT * FROM E$_auditemp_trg B ON B.ODI_ORIGIN = A.ORIGIN WHERE
B.ODI_SESS_NO =532001 ORDER BY B.ODI_CHECK_DATE DESC)
                                                 -- ^ (not here)
像这样试试

DECLARE @SQL VARCHAR(500)
SET @SQL='SELECT * FROM SNP_CHECK_TAB A INNER JOIN (SELECT * FROM E$_auditemp_trg) B ON B.ODI_ORIGIN = A.ORIGIN WHERE B.ODI_SESS_NO =532001 ORDER BY B.ODI_CHECK_DATE DESC'
EXECUTE(@SQL)

在您的查询编辑器中尝试sql,或者您需要在第二个select*周围加括号,或者它不应该在那里…嗨,我想连接这两个表,如果我在第二个查询周围加括号,它在“ON”错误附近给出synatx错误。代码如下:声明@SQL VARCHAR500 SET@SQL='SELECT*来自SNP\U CHECK\U选项卡A内部联接SELECT*来自E$\U auditemp\U trg B关于B.ODI\U ORIGIN=A.ORIGIN其中B.ODI\U SESS\U NO=532001按B.ODI\U CHECK\U DATE DESCEXECUTE@SQLYou似乎对连接语法感到困惑。您好,我已将查询修改为:DECLARE@SQL VARCHAR500 Set@SQL='SELECT*FROM SNP\u CHECK\u TAB A internal JOIN E$\u auditemp\u trg B ON B.ODI\u ORIGIN=A.ORIGIN其中B.ODI\u SESS\u NO=532001按B.ODI\u CHECK\u DATE DESC排序EXECUTE@SQL ,但是在批处理语句中不允许获取错误结果集请不要将代码示例或示例数据放入注释中-因为您无法格式化它,所以读取它非常困难。。。。取而代之的是:通过编辑你的问题来更新它,以提供额外的信息!谢谢。您好,下面是错误:在@user3807245中不允许使用结果集。您试图在不允许使用结果集的上下文中执行SELECT语句。有关如何修改查询以获得预期结果的建议?
DECLARE @SQL VARCHAR(500)
SET @SQL='SELECT * FROM SNP_CHECK_TAB A INNER JOIN (SELECT * FROM E$_auditemp_trg) B ON B.ODI_ORIGIN = A.ORIGIN WHERE B.ODI_SESS_NO =532001 ORDER BY B.ODI_CHECK_DATE DESC'
EXECUTE(@SQL)