Итак, моя цель - СУММИТЬ мои ценности и сгруппировать их по дате.
Сначала я просто написал его с указанием даты, но мне нужно предоставить SUM
в формате YY-MM-DD
, YY-MM
и YYYY
.
SELECT Table1.Date, Concat(Round(SUM((ISNULL(Price.Morning,0) + ISNULL(Price.Day,0) + ISNULL(Price.Evening,0))*Tickets.count),2),' €') AS 'Total'
FROM Table1
JOIN Tickets ON Tickets.Table1_ID = Table1.Table1_ID
JOIN Price ON Tickets.Price_ID = Price.Price_ID
GROUP BY Table1.Date
;
И это выглядитвот так:
А теперь я дошел до этого:
SELECT Cast(Tabl1.Date as Date) AS 'Date', Concat(Round(SUM((ISNULL(Price.Morning,0) + ISNULL(Price.Day,0) + ISNULL(Price.Evening,0))*Tickets.Count),2),' €') AS 'Total'
FROM Table1
JOIN Tickets ON Tickets.Table1_ID = Table1.Table1_ID
JOIN Price ON Tickets.Price_ID = Price.Price_ID
GROUP BY Date;
И я получил это:
Все ...Concat(Round(SUM((ISNULL(Price.Morning,0) + ISNULL(Price.Day,0) + ISNULL(Price.Evening,0))*Tickets.Count),2),' €') AS 'Total'...
необходимо, потому что в базе данных есть NULL
значения, поэтому я использую функцию ISNULL
и 0
, если она NULL
, потому что в противном случае она сломаетсявсе расчеты.
Вы можете увидеть эту таблицу здесь: