在SQL查询中使用DISTINCT
如何在SQL查询中使用DISTINCT命令来显示供应商id、公司名称以及在特定日期之前从该供应商订购的不同产品的数量?我在Access中运行了代码,但它不能有效地转换为SQL。此时将显示该表在SQL查询中使用DISTINCT,sql,sql-server,distinct,Sql,Sql Server,Distinct,如何在SQL查询中使用DISTINCT命令来显示供应商id、公司名称以及在特定日期之前从该供应商订购的不同产品的数量?我在Access中运行了代码,但它不能有效地转换为SQL。此时将显示该表 [Supplier ID Company Name Product Name Order Date 1 Exotic Liquids Chang 17-Aug-94 1 Exotic Liquids Chang
[Supplier ID Company Name Product Name Order Date
1 Exotic Liquids Chang 17-Aug-94
1 Exotic Liquids Chang 22-Nov-94
1 Exotic Liquids Aniseed Syrup 26-Sep-94]
到目前为止,我的代码如下。我感到困惑的是,该把这个独特的陈述放在哪里。它是否应该紧跟在Select之后?除了SELECT之外,它还应该放在括号中吗?请原谅我事先对这个问题缺乏知识
SELECT Suppliers.SupplierID, Customers.CompanyName, Products.ProductName,
Orders.OrderDate
FROM Suppliers INNER JOIN
Products ON Suppliers.SupplierID = Products.SupplierID CROSS JOIN
Customers INNER JOIN
Orders ON Customers.CustomerID = Orders.CustomerID
WHERE Orders.OrderDate <='1/1/1999'
ORDER BY Suppliers.SupplierID
选择Suppliers.SupplierID、Customers.CompanyName、Products.ProductName、,
Orders.OrderDate
从供应商内部加入
供应商上的产品.SupplierID=产品.SupplierID交叉连接
客户内部连接
Customers.CustomerID=Orders.CustomerID
WHERE Orders.OrderDate我很确定是这样的:
SELECT DISTINCT(Suppliers.SupplierID), Customers.CompanyName, Products.ProductName,Orders.OrderDate
FROM Suppliers INNER JOIN
Products ON Suppliers.SupplierID = Products.SupplierID CROSS JOIN
Customers INNER JOIN
Orders ON Customers.CustomerID = Orders.CustomerID
WHERE Orders.OrderDate <='1/1/1999'
ORDER BY Suppliers.SupplierID
选择不同的(Suppliers.SupplierID)、Customers.CompanyName、Products.ProductName、Orders.OrderDate
从供应商内部加入
供应商上的产品.SupplierID=产品.SupplierID交叉连接
客户内部连接
Customers.CustomerID=Orders.CustomerID
其中Orders.OrderDate您可以通过选择的所有列进行区分:
SELECT DISTINCT
Suppliers.SupplierID, Customers.CompanyName, Products.ProductName,
Orders.OrderDate
FROM
Suppliers INNER JOIN
Products ON Suppliers.SupplierID = Products.SupplierID CROSS JOIN
Customers INNER JOIN
Orders ON Customers.CustomerID = Orders.CustomerID
WHERE
Orders.OrderDate <='1/1/1999'
ORDER BY
Suppliers.SupplierID
选择DISTINCT
Suppliers.SupplierID、Customers.CompanyName、Products.ProductName、,
Orders.OrderDate
从…起
供应商内部联接
供应商上的产品.SupplierID=产品.SupplierID交叉连接
客户内部连接
Customers.CustomerID=Orders.CustomerID
哪里
Orders.OrderDate如果您实际上想要“不同产品的数量”,那么distinct关键字对您帮助不大。相反,你需要计算按供应商和订单日期分组的订单中的记录。很好的资源引用。在某种程度上被引导到相信这是一个问题的要求,然而在参考文献中,结果和数据的准确性更为重要。更谨慎的做法是学习编译和返回正确数据的正确语法和代码。