SQL Server语句附近的语法不正确?

时间:2012-11-22 09:46:08

标签: sql sql-server sql-server-2008

我正在尝试写一个这样的声明:

SELECT  
    TBL_CS_LINKS.LINK_ID,
    TBL_CS_LINKS.LINK_NAME,
    TBL_CS_LINKS.LINK_URL, 
    ( SELECT COUNT(*) 
        FROM TBL_CS_TEMP_CLICK 
        WHERE TBL_CS_TEMP_CLICK.LINK_ID = 1)
FROM TBL_CS_LINKS
join right TBL_CS_TEMP_CLICK 
    on TBL_CS_LINKS.LINK_ID = TBL_CS_TEMP_CLICK.LINK_ID
WHERE 
    (CHARINDEX('s', TBL_CS_LINKS.LINK_URL) > 0) OR  
    (CHARINDEX('s', TBL_CS_LINKS.LINK_NAME) > 0) 
order by   TBL_CS_LINKS.LINK_NAME

它给了我一个错误:

  

Msg 156,Level 15,State 1,Line 4
  关键字“right”附近的语法不正确。

可能是什么问题?

谢谢!

2 个答案:

答案 0 :(得分:4)

你的关键字输入错误了。

这是

right join
left join

right outer join
left outer join

答案 1 :(得分:2)

您错误地使用了正确的关键字。请在下面查看正确使用它

SELECT  TBL_CS_LINKS.LINK_ID,
        TBL_CS_LINKS.LINK_NAME,
        TBL_CS_LINKS.LINK_URL, 
        (SELECT COUNT(*) FROM TBL_CS_TEMP_CLICK WHERE TBL_CS_TEMP_CLICK.LINK_ID = 1)
FROM TBL_CS_LINKS
right join TBL_CS_TEMP_CLICK 
on TBL_CS_LINKS.LINK_ID = TBL_CS_TEMP_CLICK.LINK_ID

WHERE  (CHARINDEX('s', TBL_CS_LINKS.LINK_URL) > 0) OR  
       (CHARINDEX('s', TBL_CS_LINKS.LINK_NAME) > 0) 
order by   TBL_CS_LINKS.LINK_NAME