I am writing a SQL query using Adventure Works 2014 database.
I want to show all customers and how many orders each customers have.
I tried to write each select statement by itself (see below), but I’d like to be able to combine both queries into one.
select s.CustomerID ,p.FirstName +' '+p.LastName as Name from Sales.Customer s,Person.Person p where s.CustomerID=p.BusinessEntityID order by s.CustomerID select CustomerID ,count(SalesOrderID) as OrdersCount from Sales.SalesOrderHeader group by CustomerID
Advertisement
Answer
SELECT s.CustomerID ,
p.FirstName +' '+p.LastName as Name,
count(SalesOrderID)
FROM Sales.Customer s
JOIN Person.Person p
ON s.CustomerID=p.BusinessEntityID
LEFT JOIN Sales.SalesOrderHeader so
ON s.Customer_ID = so.Customer_ID
GROUP BY s.CustomerID ,
p.FirstName +' '+p.LastName as Name
order by s.CustomerID