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

Откуда:
Сообщений: 41
Здравствуйте, уважаемые.

Я подцепился в MS ACCESS через ODBC к БД SQL-сервер 2005 (отрабатываю запрос так, потомучто мне так удобно). Сам запрос имеет следующий вид:

SELECT pList.Name, pList.FirstName, pList.MidName, PPost.Name, pLogData.TimeVal, PCompany.Name FROM PCompany INNER JOIN (pLogData INNER JOIN (pList INNER JOIN PPost ON pList.Post = PPost.ID) ON pLogData.HozOrgan =pList.ID) ON PCompany.ID = pList.Company WHERE ((dbo_pLogData.TimeVal)>#3/1/2013# And (dbo_pLogData.TimeVal)<#3/5/2013#) ORDER BY pList.Name;

Вывод информации указан в файле №1.
Как доработать запрос, чтобы в результатах выборки выходили строки по каждому ФИО (pList.Name, pList.FirstName, pList.MidName) с минимальной датой за каждый день?

Заранее спасибо.

К сообщению приложен файл. Размер - 140Kb
3 апр 13, 12:50    [14130612]     Ответить | Цитировать Сообщить модератору
 Re: О выполнении запроса по выбору необходимых строк по условию  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
MIN() +group by
3 апр 13, 12:52    [14130627]     Ответить | Цитировать Сообщить модератору
 Re: О выполнении запроса по выбору необходимых строк по условию  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22550
https://www.sql.ru/faq/faq_topic.aspx?fid=110
3 апр 13, 12:53    [14130639]     Ответить | Цитировать Сообщить модератору
 Re: О выполнении запроса по выбору необходимых строк по условию  [new]
ANF76
Member

Откуда:
Сообщений: 41
Вот такой запросик получился.

SELECT dbo_pList.Name+' '+dbo_pList.FirstName+' '+dbo_pList.MidName AS Сотрудник, dbo_PPost.Name AS Должность, dbo_PCompany.Name AS Отдел, DateValue(dbo_pLogData.TimeVal) AS Дата, Min(TimeValue(dbo_pLogData.TimeVal)) AS Время, Min(dbo_pLogData.Remark) AS Направление
FROM dbo_PCompany INNER JOIN (dbo_pLogData INNER JOIN (dbo_pList INNER JOIN dbo_PPost ON dbo_pList.Post = dbo_PPost.ID) ON dbo_pLogData.HozOrgan = dbo_pList.ID) ON dbo_PCompany.ID = dbo_pList.Company
WHERE (((dbo_pLogData.TimeVal)>=#6/15/2012# And (dbo_pLogData.TimeVal)<=#6/16/2012#))
GROUP BY dbo_pList.Name+' '+dbo_pList.FirstName+' '+dbo_pList.MidName, dbo_PPost.Name, dbo_PCompany.Name, DateValue(dbo_pLogData.TimeVal)
ORDER BY dbo_pList.Name+' '+dbo_pList.FirstName+' '+dbo_pList.MidName, DateValue(dbo_pLogData.TimeVal), Min(TimeValue(dbo_pLogData.TimeVal));

И он работает. Вот результат:

К сообщению приложен файл. Размер - 56Kb
19 окт 13, 19:21    [15002723]     Ответить | Цитировать Сообщить модератору
 Re: О выполнении запроса по выбору необходимых строк по условию  [new]
ANF76
Member

Откуда:
Сообщений: 41
Подскажите, а как в этом запросе сделать еще условие? Нужен вывод по сотрудникам, если был хоть один "вход" с 0 часов дня до 8:30 утра. Заранее спасибо
19 окт 13, 19:23    [15002735]     Ответить | Цитировать Сообщить модератору
 Re: О выполнении запроса по выбору необходимых строк по условию  [new]
ANF76
Member

Откуда:
Сообщений: 41
ANF76
Подскажите, а как в этом запросе сделать еще условие? Нужен вывод по сотрудникам, если был хоть один "вход" с 0 часов дня до 8:30 утра. Заранее спасибо

То есть наоборот нужно, если был "вход", то выводить результат не нужно
19 окт 13, 19:26    [15002750]     Ответить | Цитировать Сообщить модератору
 Re: О выполнении запроса по выбору необходимых строк по условию  [new]
qwerty112
Guest
гоните ТСа в Акцесс, - он "потерялся"
19 окт 13, 19:41    [15002810]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить