Sql StoredProcess:关键字';内部';
我正在使用SQL server存储该过程 我面临着错误 “关键字“内部”附近的语法不正确” 以下是我的问题:Sql StoredProcess:关键字';内部';,sql,stored-procedures,Sql,Stored Procedures,我正在使用SQL server存储该过程 我面临着错误 “关键字“内部”附近的语法不正确” 以下是我的问题: set @SQL= 'select pushto as MSISDN,pushprice as Price,pushdate as DateTime,pushtext as Message from '+@tblname+' WITH (NOLOCK) WHERE '+@sqldate + @scodelist+ @clientlist + @piclist +' INNER JOIN
set @SQL= 'select pushto as MSISDN,pushprice as Price,pushdate as DateTime,pushtext as Message from '+@tblname+' WITH (NOLOCK) WHERE '+@sqldate + @scodelist+ @clientlist + @piclist +' INNER JOIN INAPremium..INA_Keyword K on R.keyid = K.keyid WHERE '+@sqldate
+ @scodelist+ @clientlist + @piclist + @DNType + @pkeywordlist + @seckeywordlist +' order by pushdate desc'
需要你们的帮助。
谢谢。您发布的查询是错误的。您在
内部联接之前使用了WHERE
,实际上应该反过来使用。此外,您还有多个WHERE
子句
from '+@tblname+' WITH (NOLOCK)
WHERE '+@sqldate + @scodelist+ @clientlist + @piclist +'
INNER JOIN INAPremium..INA_Keyword K on R.keyid = K.keyid
应该是
from '+@tblname+' WITH (NOLOCK)
INNER JOIN INAPremium..INA_Keyword K on R.keyid = K.keyid
WHERE '+@sqldate + @scodelist+ @clientlist + @piclist +'
您的语法必须是来自。。。内部连接。。。其中
诸如此类:
set @SQL= 'select pushto as MSISDN,pushprice as Price,pushdate as DateTime,pushtext as Message
from '+@tblname+' WITH (NOLOCK) +
' INNER JOIN INAPremium..INA_Keyword K on R.keyid = K.keyid
WHERE '+@sqldate +
+ @scodelist+ @clientlist + @piclist + @DNType + @pkeywordlist + @seckeywordlist +' order by pushdate desc'
在我看来,这是语法错误 你有两个WHERE,one-after和(NOLOCK)second-after内部连接 请尝试以下代码:
set @SQL= '
select
pushto as MSISDN,
pushprice as Price,
pushdate as DateTime,
pushtext as Message
from '+@tblname+'
WITH (NOLOCK)
INNER JOIN INAPremium..INA_Keyword K on R.keyid = K.keyid
WHERE '+@sqldate+ @scodelist+ @clientlist + @piclist + @DNType + @pkeywordlist + @seckeywordlist +'
order by pushdate desc'
您只能有一个
WHERE
子句,它需要跟在所有FROM
和JOIN
s之后。标记您正在使用的dbms。该代码是特定于产品的!