找到SQL语法错误?

时间:2013-12-21 13:57:16

标签: sql ms-access asp-classic syntax-error

有人能发现这个sql中的语法错误吗?

SELECT * FROM ubuser 
INNER JOIN post ON (ubuser.usr_ID = post.pos_USERID) 
INNER JOIN ubFriendsLink ON (ubuser.usr_ID = (ub_lnkID1 OR ub_lnkID2)) 
WHERE"& session("ID") &" = (ub_lnkID1 OR ub_lnkID2) 
ORDER BY pos_DATE DESC

我无法发现它有什么问题,但我对SQL很新。

这是错误:

  

查询表达式中的语法错误(缺少运算符)'(ubuser.usr_ID =   post.pos_USERID)INNER JOIN ubFriendsLink ON(ubuser.usr_ID =   (ub_lnkID1或ub_lnkID2))WHERE18 =(ub_lnkID1或ub_lnkID2'。

感谢

更新------------------------------------

当我在Dan建议的时候给我的sql添加一个空格时,我收到了这个错误

  

Microsoft Access数据库引擎错误“80040e14”

     

查询表达式中的语法错误(缺少运算符)'(ubuser.usr_ID =   post.pos_USERID)INNER JOIN ubFriendsLink ON(ubuser.usr_ID =   (ub_lnkID1或ub_lnkID2)'。

     

/S000000/newsfeed1.asp,第28行

当我使用juergen给我的代码时,我明白了:

  

Microsoft Access数据库引擎错误“80040e14”

     

查询表达式'ubuser.usr_ID =中的语法错误(缺少运算符)   post.pos_USERIDINNER在ubuser.usr_ID IN上加入ubFriendsLink   (ub_lnkID1,ub_lnkID2)WHERE 18 IN(ub_lnkID1,ub_lnkID2)ORDER BY   pos_DATE DES'。

     

/S000000/newsfeed1.asp,第31行

感谢

2 个答案:

答案 0 :(得分:0)

SELECT * FROM ubuser 
INNER JOIN post ON ubuser.usr_ID = post.pos_USERID
INNER JOIN ubFriendsLink ON ubuser.usr_ID IN (ub_lnkID1,ub_lnkID2)
WHERE session("ID") IN (ub_lnkID1,ub_lnkID2) 
ORDER BY pos_DATE DESC

答案 1 :(得分:0)

如果这是您的错误消息的一部分,

(ubuser.usr_ID = post.pos_USERID) 
INNER JOIN ubFriendsLink ON (ubuser.usr_ID = (ub_lnkID1 OR ub_lnkID2)) 
WHERE18 = (ub_lnkID1 OR ub_lnkID2'

你需要一个空间:

WHERE"& session("ID") &" = (ub_lnkID1 OR ub_lnkID2)

在WHERE和引号之间。