2015-01-11 49 views
1

我对SQL非常陌生,并尝试使用SQL Server进行多个连接。SQL Multiple Joins返回错误'关键字'JOIN'附近语法不正确'。'

鉴于

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’,但下面的脚本抛出一个错误:

Line 6 'Incorrect syntax near the keyword '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 

请帮我......,我卡住了: -P [这是我的第一个问题,我失去的东西]

+1

您正在使用哪两种_mutually exclusive RDBMS_? – potashin

回答

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' 

顺便说一下,你也可以在这样的条款中做到,如C_ordr.cust_id = c_cust.ID AND c_cust.NAME = 'Comp1'

+0

感谢您的答复@notulysses但使用查询给了我空白输出.. 'SELECT *' 'FROM c_cust' '加入C_ordr ON C_ordr.cust_id = c_cust.ID' “JOIN ON c_slpn.id c_slpn \t = c_ordr.cust_id' 'WHERE c_cust.NAME ='Comp1''仍然困惑...;( – ajufsd

+0

您确定有条件匹配的记录吗? – potashin

+0

是的,c_cust.Name有Comp1有c_cust.id 4匹配cust_id.cust_id。AND cust_id.salesperson_id match c_slpn.ID。(@IsabelHM感谢编辑) – ajufsd

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' 
+0

立即更正查询。 'JOIN c_slpn ON c_slpn.id = c_ordr.salesperson_id'。我无意中键入了c_ordr的列名:p谢谢您查看我的查询:D – ajufsd

相关问题