2017-03-17 131 views
-2

我正在使用SQL Server存儲過程。StoredProcedure:關鍵字'INNER'附近的語法錯誤

我面對錯誤

「關鍵字 '內部' 附近有語法錯誤」 的下面是我的查詢:

set @SQL= 'select pushto as MSISDN,pushprice as Price,pushdate as DateTime,pushtext as Message from '[email protected]+' WITH (NOLOCK) WHERE '[email protected] + @scodelist+ @clientlist + @piclist +' INNER JOIN INAPremium..INA_Keyword K on R.keyid = K.keyid WHERE '[email protected] 
+ @scodelist+ @clientlist + @piclist + @DNType + @pkeywordlist + @seckeywordlist +' order by pushdate desc' 

需要大家幫助的手。 謝謝。

+1

你只能有一個'WHERE'條款,它需要在所有的'FROM'前來與'JOIN's。 –

+0

標記您正在使用的dbms。該代碼是產品特定的! – jarlh

回答

0

您發佈的查詢方式錯誤。您在INNER JOIN之前使用過WHERE,這實際上應該是其他方式。此外,您有多個WHERE條款

from '[email protected]+' WITH (NOLOCK) 
WHERE '[email protected] + @scodelist+ @clientlist + @piclist +' 
INNER JOIN INAPremium..INA_Keyword K on R.keyid = K.keyid 

應該

from '[email protected]+' WITH (NOLOCK)  
INNER JOIN INAPremium..INA_Keyword K on R.keyid = K.keyid 
WHERE '[email protected] + @scodelist+ @clientlist + @piclist +' 
0

您語法必須from ... inner join ... where

類似的東西:

set @SQL= 'select pushto as MSISDN,pushprice as Price,pushdate as DateTime,pushtext as Message 
from '[email protected]+' WITH (NOLOCK) + 
' INNER JOIN INAPremium..INA_Keyword K on R.keyid = K.keyid 
WHERE '[email protected] + 
+ @scodelist+ @clientlist + @piclist + @DNType + @pkeywordlist + @seckeywordlist +' order by pushdate desc' 
0

從我的角度來看,這是語法錯誤。

在INNER JOIN之後,您有WITH WHERE,WITH WITH(NOLOCK)後第二次。

請試試這個代碼:

set @SQL= ' 
select 
    pushto as MSISDN, 
    pushprice as Price, 
    pushdate as DateTime, 
    pushtext as Message 
    from '[email protected]+' 
    WITH (NOLOCK) 
    INNER JOIN INAPremium..INA_Keyword K on R.keyid = K.keyid 
    WHERE '[email protected]+ @scodelist+ @clientlist + @piclist + @DNType + @pkeywordlist + @seckeywordlist +' 
    order by pushdate desc' 
相關問題