2014-12-30 76 views
0

所以我試圖運行SSMS如下語句:SQL連接表發出

SELECT Project.PROJNAME FROM PROJECT 
JOIN SHIPMENT ON SHIPMENT.SNUM = SUPPLIERS.SNUM 
JOIN PARTS ON PARTS.PNUM = SHIPMENT.PNUM 
JOIN SUPPLIERS ON PROJECT.PROJNUM = SHIPMENT.PROJNUM 
WHERE SUPPLIERS.SNAME='S1' AND SUPPLIERS.SNAME='S2' 

然而,當我這樣做,我有一個問題與查詢的2線suppliers.snum部分。它告訴我多部分標識符不能被綁定。我已經研究了幾種糾正問題的方法,但由於某種原因,它沒有理解如何以及爲什麼。有人可以請解釋如何解決這個問題,爲什麼目前的方式不起作用?謝謝你們,歡呼聲。

+0

錯誤的事實,您尚未綁定'之前引用它SUPPLIERS'別名莖。解決的辦法是查看你試圖「加入」的表格之間的關係,以確保在引用它們之前綁定標識符。 –

回答

1

您的查詢似乎對我來說很陌生,試試這個版本與正確的順序:

SELECT Project.PROJNAME 
FROM 
    PROJECT 
JOIN 
    SHIPMENT 
ON PROJECT.PROJNUM = SHIPMENT.PROJNUM 
JOIN 
    PARTS 
ON SHIPMENT.PNUM = PARTS.PNUM 
JOIN 
    SUPPLIERS 
ON SHIPMENT.SNUM = SUPPLIERS.SNUM 
WHERE 
SUPPLIERS.SNAME IN ('S1', 'S2') 
+0

謝謝,現在我看到我自己的例子被重寫了,我明白爲什麼它不是一開始就工作的。一眼望去,這將有助於未來。 – MikeyZ