sql - 如何添加WHERE条件以使用INNER JOINs进行编码?

标签 sql sql-server inner-join where

我不知道如何为AS列添加where条件,

我尝试使用带有方括号的列,但它不起作用

SELECT   
    Suppliers.CompanyName,
    SUM([Order Details].UnitPrice*Quantity) AS [Total sales]
FROM
    [Order Details]  
INNER JOIN 
    Products ON products.ProductID = [Order Details].ProductID
INNER JOIN 
    Suppliers ON Products.SupplierID = Suppliers.SupplierID
WHERE 

GROUP BY 
    Suppliers.CompanyName
ORDER BY 
    2 DESC;

我只希望看到总销售额超过10,000

最佳答案

您需要在HAVING子句中添加条件:

SELECT  
  Suppliers.CompanyName, 
  SUM([Order Details].UnitPrice*Quantity)AS [Total sales]
FROM [Order Details] 
INNER JOIN 
Products ON products.ProductID= [Order Details] .ProductID
INNER JOIN
Suppliers ON Products.SupplierID= Suppliers.SupplierID
GROUP BY Suppliers.CompanyName
HAVING SUM([Order Details].UnitPrice*Quantity) > 10000
Order by 2 desc;

关于sql - 如何添加WHERE条件以使用INNER JOINs进行编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55892643/

相关文章:

java - 创建 inner_join 表或创建新表 MySQL

php - Android从客户端发送数据,服务器检索并再次发送给客户端

sql - 如何在sql语句中将日期递增1作为时间数

mysql - 将新项目插入到已填充的表中

sql-server - Node/繁琐示例中的表值参数

sql-server - BEGIN TRY/CATCH 和 MSDTC 错误

php - MySQL 内部连接 ​​2 个表

mysql - 预期结果不是来自 mysql INNER JOIN

mysql - 难以为事件构建 SQL 查询

sql - postgres 中的数组字段,需要对结果进行自连接