简体   繁体   English

SQL联接表问题

[英]SQL joining tables issue

So I am trying to run a statement in SSMS like: 所以我试图在SSMS中运行一条语句,例如:

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'

However, when I do, I have an issue with the suppliers.snum portion on line 2 of the query. 但是,当我这样做时,查询的第2行上的provider.snum部分出现了问题。 It tells me the multi-part identifier cannot be bound. 它告诉我多部分标识符无法绑定。 I have looked at several ways to rectify the problem, but for some reason its just not sinking in for the understanding on the how and why. 我已经研究了几种解决问题的方法,但是由于某种原因,它并没有陷入对如何以及为什么的理解中。 Could someone please explain how to fix this and why exactly the current way does not work? 有人可以解释如何解决此问题,以及为什么当前的方法不起作用? Thanks guys, cheers. 谢谢大家,加油。

your query looks very strange for me, try this version with proper order: 您的查询对我来说很奇怪,请按正确的顺序尝试此版本:

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')

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM