【发布时间】:2019-01-26 00:57:04
【问题描述】:
我被困在这个问题上,而且我对 SQL 还比较陌生。
这是我们收到的问题:
列出我们拥有的所有产品的产品名称和供应商 ID 从多个供应商处购买(提示:您需要一个 Self-Join 和 一个额外的 INNER JOIN 来解决,不要忘记删除任何 重复!!)
这是我们正在使用的表格的屏幕截图:
这就是我所拥有的......我知道这是错误的。它在一定程度上起作用,只是不完全是教授想要的。
SELECT DISTINCT productname, product_vendors.vendorid
FROM products INNER JOIN Product_Vendors
ON products.PRODUCTNUMBER = PRODUCT_VENDORS.PRODUCTNUMBER
INNER JOIN vendors ON Product_Vendors.VENDORID = vendors.VENDORID
ORDER BY products.PRODUCTNAME;
提供教授的预期输出:
【问题讨论】:
-
指定示例表数据和预期结果 - 以及格式化文本。
-
我可能会使用 COUNT() 进行 GROUP BY。
-
嗨 Mike,我们只应该在这个练习中使用 INNER JOIN。
-
这里根本不需要 LEFT JOIN。
-
内联同一张表两次,确保不同厂商!