Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

SQL - Truy vấn con trong hàm tổng hợp

Các truy vấn con thường không được phép trong các hàm tổng hợp. Thay vào đó, hãy di chuyển tổng hợp bên trong truy vấn con. Trong trường hợp này, bạn sẽ cần thêm một cấp truy vấn con vì top 5 :

SELECT c.CategoryName,
  (select sum(val)
   from (SELECT TOP 5 od2.UnitPrice*od2.Quantity as val
         FROM [Order Details] od2, Products p2
         WHERE od2.ProductID = p2.ProductID
         AND c.CategoryID = p2.CategoryID
         ORDER BY 1 DESC
        ) t
  )
FROM [Order Details] od, Products p, Categories c, Orders o 
WHERE od.ProductID = p. ProductID
AND p.CategoryID = c.CategoryID
AND od.OrderID = o.OrderID
AND YEAR(o.OrderDate) = 1997
GROUP BY c.CategoryName, c.CategoryId


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để giữ lại giá trị NULL khi sử dụng SSIS để nhập từ tệp phẳng trong SQL Server 2005

  2. Có thể thay đổi kiểu dữ liệu của một cột trong một dạng xem không?

  3. C # SQLServer truy xuất kết quả và đặt ở định dạng .csv

  4. Chèn vào bảng từ biến bảng?

  5. Cách chọn bản ghi không tồn tại trong Sql Server