Sql 获取两个表联接的结果

Sql 获取两个表联接的结果,sql,sql-server,join,inner-join,Sql,Sql Server,Join,Inner Join,我有一个标准,其中我想将表1与表2连接起来,表1包含提供给销售人员销售的产品,表2包含销售人员已售出的销售数据。 现在我想知道每一次销售的剩余产品与join。 下面是我的数据,这是我试图做的,但它只返回Sales1数据。 我需要帮助按照我的要求加入这些表 CREATE TABLE Salesman_Product ( SalesManID int, ProductID int ) INSERT INTO Salesman_Product (SalesManID,ProductID) Val

我有一个标准,其中我想将表1与表2连接起来,表1包含提供给销售人员销售的产品,表2包含销售人员已售出的销售数据。
现在我想知道每一次销售的剩余产品与join。
下面是我的数据,这是我试图做的,但它只返回Sales1数据。
我需要帮助按照我的要求加入这些表

CREATE TABLE Salesman_Product
(

SalesManID int,
ProductID int

)

INSERT INTO Salesman_Product (SalesManID,ProductID) Values (1,1),(1,2),(1,3),(1,4)  
INSERT INTO Salesman_Product (SalesManID,ProductID) Values (2,1),(2,2),(2,3),(2,4) 

--select * from Salesman_Product

CREATE TABLE Salesman_Sales
(

SalesManID int,
ProductID int,
Status varchar(3)

)


INSERT INTO Salesman_Sales (SalesManID,ProductID,Status) Values (1,1,'Yes'),(1,3,'Yes') 
INSERT INTO Salesman_Sales (SalesManID,ProductID,Status) Values (2,1,'Yes'),(2,2,'Yes'),(2,3,'Yes')

--select * from Salesman_Sales 

;WITH CTE_RES AS
(
SELECT * FROM Salesman_Product
WHERE ProductID NOT IN
(
SELECT Salesman_Sales.ProductID FROM Salesman_Sales INNER JOIN
Salesman_Product ON
Salesman_Sales.SalesManID =Salesman_Product.SalesManID
AND Salesman_Sales.ProductID =Salesman_Product.ProductID
--AND Salesman_Sales.SalesManID =1
)
)
SELECT * INTO #TEMP_RES FROM CTE_RES
SELECT * FROM #TEMP_RES
--DROP TABLE #TEMP_RES
要求的结果

SALESMANID   PRODUCTID
1            2
1            4
2            4

由于
不存在,您将简单的选择变得过于复杂:

SELECT SalesManID, ProductID
FROM Salesman_Product p
WHERE NOT EXISTS (
   SELECT 1
   FROM  Salesman_Sales s 
   WHERE p.SalesManID = s.SalesManID and p.ProductID = s.ProductID
)
结果:

SalesManID    ProductID
1             2
1             4
2             4

在您的Sales\u Sales表中,状态是什么意思?