SQL连接表问题

时间:2014-12-30 03:32:50

标签: sql select join ssms

所以我试图在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'

但是,当我这样做时,查询第2行的suppliers.snum部分出现问题。它告诉我多部分标识符不能绑定。我已经看了几种方法来纠正这个问题,但由于某些原因,它只是没有沉溺于对如何以及为什么的理解。有人可以解释如何解决这个问题以及为什么目前的方法不起作用?谢谢你们,干杯。

1 个答案:

答案 0 :(得分: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')