LINUX.ORG.RU

SQL - запрос, выражение после ORDER BY

 , ,


0

1

Всем привет. Написал такой Селект:

SELECT
	YEAR(action_date) AS `Year`,
    NULL AS `Month`,
    NULL AS `Day`,
    SUM(qty*price) AS `Total`
FROM actions
GROUP BY `Year` , `Month` , `Day`
UNION
SELECT 
	YEAR(action_date) AS `Year`,
    MONTH(action_date) AS `Month`,
    NULL AS `Day`,
    SUM(qty*price) AS `Total`
FROM actions
GROUP BY `Year` , `Month` , `Day`
UNION
SELECT
	YEAR(action_date) AS `Year`,
    MONTH(action_date) AS `Month`,
    DATE(action_date) AS `Day`,
    SUM(qty*price) AS `Total`
FROM actions
GROUP BY `Year` , `Month` , `Day`
ORDER BY `Year`, `Month`, `Day`

Результатом которого, выборка ниже:

'2015', NULL, NULL,        '181974.00000'
'2015', '7',  NULL,        '88319.00000'
'2015', '7', '2015-07-25', '35467.00000'
'2015', '7', '2015-07-26', '17149.00000'
'2015', '7', '2015-07-28', '8293.00000'
'2015', '7', '2015-07-29', '19760.00000'
'2015', '7', '2015-07-30', '7650.00000'

Подскажите, как можно заменить заменить NULL на пустые значения? И как можно выполнять модификации над выборкой, после ORDER BY? Заранее спасибо.



Последнее исправление: lckrspirit (всего исправлений: 2)

SELECT NULL AS Month,

как можно заменить заменить NULL на пустые значения

признай хотя бы, что никакой select ты не писал

anonymous
()

Загнать всё в подзапрос, сделать из него выборку. IFNULL возвращает второй аргумент, если первый - null и первый, если он не null.

crutch_master ★★★★★
()
Ответ на: комментарий от Anoxemian

Я думаю месяц там число, просто выводилка в кавычки берет, что даты, что суммы.

Тс, опиши лучше нормально, что ты хочешь, почему и зачем. Иначе ванговать будем полтреда.

anonymous
()
Ответ на: комментарий от anonymous

Виноват, действительно описание плохое.

Решил проблему, путем создание представления, и дальнейшей модификации его.

Спасибо!

lckrspirit
() автор топика
Ответ на: комментарий от anonymous

Чё ванговать, coalesce и подзапросы во from он хочет(ну или cte)

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.