| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > СУБД, общие вопросы > SQL Запрос на количество |
| Автор: Pankon 19.5.2006, 14:07 | ||||
Есть таблица:
Мне нужен запрос, который дает:
|
| Автор: skyboy 19.5.2006, 14:24 | ||
навскидку
Примитивно, однако ничего лучшего пока не пришло. Всё же лучше, чем два разных запроса бросать... |
| Автор: boevik 19.5.2006, 14:27 |
| skyboy, у тебя и есть два разных запроса и результат не в том виде который просили. |
| Автор: Sqlninja 19.5.2006, 14:44 | ||
|
| Автор: Sqlninja 19.5.2006, 14:59 |
| Это Oracle диалект, но Вы его переделаете без труда так как Вам нужно. |
| Автор: Vit 19.5.2006, 15:48 | ||||
Классика примерно такая:
Для MS SQL Server можно попробовать и так:
Второй вариант под вопросом, сервер может скушает такое а может нет.... И скорее всего второй вариант будет несколько медленнее. |
| Автор: Sqlninja 19.5.2006, 16:00 |
| для Oracle стопудово работает. |
| Автор: Pankon 19.5.2006, 17:12 | ||
Работает. Спасибо Sqlninja. Vit может позже попробую и твой вариант (тоже Спасибо) |
| Автор: Pankon 22.5.2006, 15:02 | ||||
| Работает не совсем так, как надо... !!! Если таблица имеет еще записи
то результирующая таблица должна выглядеть
Как получить запись с нулем |
| Автор: Vit 22.5.2006, 15:34 |
Разве мой код нулей не даёт??? |
| Автор: Pankon 22.5.2006, 16:19 |
Да твой код работает лучше..., но дает NULL... А как получить вместо NULL - 0 ? Что-то вроде IIF(T2.Count_b=Null, 0 , T2.Count_b)....? DB - MS SQL |
| Автор: Akina 22.5.2006, 18:07 | ||||||
| Смотри. Первый запрос - получить Count_All
Второй запрос - получить Count_b
Теперь связываем их по полю даты и выгребаем нужные данные
|
| Автор: Vit 22.5.2006, 19:11 | ||
IsNull(MyValue, 0) Добавлено @ 19:13
|
| Автор: Pankon 22.5.2006, 19:14 |
| Такой вариант предложил Sqlninja (точнее это был Vit A последний вопрос был Добавлено @ 19:15 Спасибо |
| Автор: Vit 22.5.2006, 19:15 |
Дык этот то что я привёл |
| Автор: Pankon 23.5.2006, 14:31 |
Спасибо еще раз... |