Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Ostatni rekord w lewym sprzężeniu

Spróbuj tego:

SELECT a.State, count(c.CustomerID)
FROM Product p
INNER JOIN Customer c ON c.CustomerID = p.CustomerID
LEFT JOIN Address a ON a.CustomerID = c.CustomerID 
      AND a.AddressID = 
        (
           SELECT MAX(AddressID) 
           FROM Address z 
           WHERE z.CustomerID = a.CustomerID
        )
WHERE p.ProductID = 101
GROUP BY a.State


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SSMS 2008 konwertuje znaki kontrolne na spacje podczas korzystania z funkcji „Wyniki na siatkę”

  2. Musisz wyeksportować pola zawierające podziały wierszy jako CSV z SQL Server

  3. Czy SQL Server otacza Select...Insert Queries w niejawną transakcję?

  4. Jak zaktualizować bazę danych SQL Server 2008 podczas wstawiania nowych kolumn do tabeli danych w VB 2010?

  5. Filtrowanie hibernacji według danych wyjściowych funkcji zdefiniowanych przez użytkownika