【发布时间】:2018-07-15 04:26:17
【问题描述】:
我是 SQL 语言的新手。刚学了4个月。
我的作业问题是找到不供应饮料的供应商。
使用LEFT OUTER JOIN 或RIGHT OUTER JOIN(也可以使用INNER JOIN)。
给了我 3 张桌子。
SELECT
S.ContactName
FROM
Suppliers AS S
INNER JOIN
Products AS P ON S.SupplierID = P.SupplierID
LEFT OUTER JOIN
Categories AS C ON C.CategoryID = P.CategoryID
WHERE
C.CategoryName != 'Beverages'
GROUP BY
S.ContactName
我已经尝试使用上面的代码,但它似乎返回了多个名称。例如,供应商“Anne Heikkonen”既供应饮料,也供应其他饮料。但是当我使用上面的 select 语句时,它只删除了具有 CategoryName 'Beverage' 的她的名字,而忽略了她的其他对应部分。 Output table 如您所见,供应商“Anne Heikkonen”仍然出现在结果中,因为她既提供饮料又提供其他服务。
【问题讨论】:
-
这是一个常见问题解答。谷歌清楚地说明您的问题/目标/问题。阅读minimal reproducible example并采取行动。
标签: sql sql-server join