Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Написание запроса.  [new]
Frostmind
Member

Откуда:
Сообщений: 13
Добрый день пишу запрос так чтобы он выводил количество договоров оформленными сотрудниками за последние три месяца, но есть один маленький нюанс, он цепляет мне так же декабрь месяц, как сделать так чтобы он не трогал текущий месяц, т.е. отчет начинал к примеру от начала текущего месяца. Если кто то предложит вложить в переменную дату. Это не походит. ЕЕ надо как то вычислить как не вкуриваю.
вот сам запрос

select
aist.dbo.E8_SOTRUDNIK.Famillia,
aist.dbo.E8_SOTRUDNIK.N_tabel,
aist.dbo.E4_DOGOVOR_O_POST.Data_oform,
count (aist.dbo.E4_DOGOVOR_O_POST.Data_oform) as Kol_vo
from aist.dbo.E8_SOTRUDNIK, aist.dbo.E4_DOGOVOR_O_POST
where 3>=datediff(month, aist.dbo.E4_DOGOVOR_O_POST.Data_oform, getdate())
and aist.dbo.E4_DOGOVOR_O_POST.N_tabel=aist.dbo.E8_SOTRUDNIK.N_tabel
group by
aist.dbo.E8_SOTRUDNIK.N_tabel,
aist.dbo.E4_DOGOVOR_O_POST.Data_oform,
aist.dbo.E8_SOTRUDNIK.Famillia
8 дек 13, 11:43    [15260076]     Ответить | Цитировать Сообщить модератору
 Re: Написание запроса.  [new]
qwerty112
Guest
Frostmind
... т.е. отчет начинал к примеру от начала текущего месяца. Если кто то предложит вложить в переменную дату. Это не походит. ЕЕ надо как то вычислить как не вкуриваю.

Некоторые вычисления с датой
8 дек 13, 11:48    [15260079]     Ответить | Цитировать Сообщить модератору
 Re: Написание запроса.  [new]
iap
Member

Откуда: Москва
Сообщений: 47144
Frostmind,

1. отказывайтесь от запятой во FROM. Применяйте INNER/LEFT/RIGHT/FULL JOINы
2. Применяйте алиасы для таблиц и полей запроса. Писать везде aist.dbo.E4_DOGOVOR_O_POST.Data_oform - это же ужас какой-то
3. Надо за три месяца, предшествующие текущему?
WHERE D>=DATEADD(MONTH,DATEDIFF(MONTH,0,GETDATE())-3,0)
  AND D< DATEADD(MONTH,DATEDIFF(MONTH,0,GETDATE()),0)
Если по полю есть индекс, то сервер сможет его использовать, если надо.
У Вас же ограничение накладывается не на поле,
а на функцию - индекс использоваться не может, даже если он есть.
8 дек 13, 12:12    [15260102]     Ответить | Цитировать Сообщить модератору
 Re: Написание запроса.  [new]
Frostmind
Member

Откуда:
Сообщений: 13
qwerty112, а примеры на триггерах которые работают на одной таблице проверяя с другой у тебя есть?
8 дек 13, 12:15    [15260109]     Ответить | Цитировать Сообщить модератору
 Re: Написание запроса.  [new]
Frostmind
Member

Откуда:
Сообщений: 13
iap, спасибо я просто пробовал как он мне файлы сольет в запросе
8 дек 13, 12:16    [15260110]     Ответить | Цитировать Сообщить модератору
 Re: Написание запроса.  [new]
qwerty112
Guest
Frostmind
qwerty112, а примеры на триггерах которые работают на одной таблице проверяя с другой у тебя есть?

да, есть... - сегодня маленькие, по 3-и,
вчера - были большие - по 5-ть

---
автор,

если у тебя есть ещё вопросы, проследуй сюда - Рекомендации по оформлению сообщений в форуме,
ознакомся и задай его
8 дек 13, 12:31    [15260130]     Ответить | Цитировать Сообщить модератору
 Re: Написание запроса.  [new]
Frostmind
Member

Откуда:
Сообщений: 13
qwerty112,

Можешь скинуть или выложить я хочу просто посмотреть как работать с несколькими таблицами
8 дек 13, 13:36    [15260229]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить