SQL Multiple Joins返回错误'关键字'JOIN'附近的语法不正确。

时间:2015-01-11 14:39:28

标签: sql sql-server join

我对SQL很新,并尝试与SQL Server进行多次连接。

给出

c_slpn

"ID Name    Age Salary"
'1  Abe     61  140000'
'2  Bob     34  44000'
'5  Chris   34  40000'
'7  Dan     41  52000'
'8  Ken     57  115000'
'11 Joe     38  38000'

c_cust

"ID Name    City    Industry Type"
'4  Comp1    pleasant   J'
'6  Comp2    oaktown        J'
'7  Comp3    jackson        B'
'9  Comp4    Jackson        B'

c_ordr

"Number order_date  cust_id salesperson_id  Amount"
'10     8/2/96      4       2        540'
'20     1/30/99     4       8        1800'
'30     7/14/95     9       1        460'
'40     1/29/98     7       2        2400'
'50     2/3/98      6       7        600'
'60     3/2/98      6       7        720'
'70     5/6/98      9       7        150'

我应该找到'列出具有'Comp1'订单的销售人员,但下面的脚本会抛出错误:

  

第6行'关键字'JOIN'附近的语法不正确。

查询:

SELECT *
FROM  c_cust
JOIN C_ordr ON C_ordr.cust_id=  c_cust.ID   
WHERE NAME = 'Comp1'
JOIN c_slpn ON c_slpn.id=c_ordr.cust_id

请帮帮我......,我被困了:- [这是我的第一个问题,我错过了什么]

2 个答案:

答案 0 :(得分:2)

WHERE子句追溯JOIN

SELECT *
FROM  c_cust
JOIN C_ordr ON C_ordr.cust_id = c_cust.ID   
JOIN c_slpn ON c_slpn.id = c_ordr.salesperson_id
WHERE c_cust.NAME = 'Comp1'

顺便说一句,您也可以在JOIN条款中执行此操作,例如C_ordr.cust_id = c_cust.ID AND c_cust.NAME = 'Comp1'

答案 1 :(得分:0)

不确定它是否只是拼写错误,但您的表名不一致。

SELECT *
FROM  c_cust
JOIN c_ordr
ON c_ordr.cust_id=  c_cust.ID   
JOIN c_slpn
ON c_slpn.id=c_ordr.cust_id
WHERE c_cust.Name= 'Comp1'