Как я могу добавить условие WHERE в код с INNER JOIN? - PullRequest
2 голосов
/ 28 апреля 2019

Я не знаю, как добавить условие where для столбца AS, есть ли

Я пробовал использовать столбец в квадратных скобках, и он не работает

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;

Мне бы хотелось, чтобы общий объем продаж превышал 10000

.

Ответы [ 2 ]

4 голосов
/ 28 апреля 2019

Вам необходимо добавить условие в предложение 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;
2 голосов
/ 28 апреля 2019

Вам просто нужно добавить предложение HAVING вместо предложения WHERE,

после GROUP BY как

HAVING SUM([Order Details].UnitPrice*Quantity) > 10000

в вашем выражении SQL:

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
...