Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Обобщавайте по седмици, дори и за празни редове

Клаузата where WHERE (sales.transDate BETWEEN @fromDate AND @toDate) ще премахне всички седмици без продажби. Вероятно ще трябва да направите подзаявка, за да изтеглите транзакциите и след това да ги присъедините към вашата таблица със седмици.

SELECT Weeks.WeekNum, SUM(sales.quantity) AS sales
FROM Weeks LEFT OUTER JOIN 
 (
    SELECT *
    FROM sales 
    WHERE (sales.transDate BETWEEN @fromDate AND @toDate)
 ) sales
    ON Weeks.WeekNum = DATEPART(week, sales.transDate)
GROUP BY Weeks.WeekNum


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. C# Изключение при отдалечена връзка към екземпляр на SQL Server 2005

  2. Предаване на таблица с данни от C# към SQL Server 2008

  3. Вземете списък с пощенски акаунти в базата данни в SQL Server (T-SQL)

  4. Използване на xml.modify за вмъкване на параметри в конкретен елемент на xml колона

  5. Xampp MS SQL сървър PHP 5.6