@XenK

WHERE в SELECT SQL?

Есть такой запрос:
SELECT `money` FROM `table`  WHERE date(`date`) = '2016-08-11'

Необходимо вывести в этом же запросе, колонку, где например будет выводиться сумма за прошлый день.
Как это сделать без union, то есть добавив условие в SELECT?
  • Вопрос задан
  • 524 просмотра
Пригласить эксперта
Ответы на вопрос 3
k1lex
@k1lex
Программист торг. сети. C# (WPF, WinForms), T-SQL
SELECT [Поле группировки], sum(что сложить) FROM `table`  
 WHERE <условие>
 group by [Поле группировки]


или

SELECT [Поле группировки], sum(что сложить) FROM `table`  
 group by [Поле группировки]
having [условие]


Запросы работают примерно одинаково. Только в первом мы сначала накладываем условие на таблицу, а потом группируем. А во втором сначала получаем данные и накладываем условие.
Ответ написан
Комментировать
@SharuPoNemnogu
не язык плохой, программисты такие...
SELECT `money` FROM `table`
  WHERE date(`date`) BETWEEN вчера AND сегодня
Ответ написан
tsklab
@tsklab
Здесь отвечаю на вопросы.
SELECT `money` AS Today, CAST( NULL AS MONEY) AS Yesterday FROM `table`  WHERE date(`date`) = '2016-08-11'
UNION
SELECT NULL, `money` FROM `table`  WHERE date(`date`) = '2016-08-10'
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы