Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.06.2011, 09:57   #1
NIKVOC
Новичок
Джуниор
 
Регистрация: 23.06.2011
Сообщений: 3
По умолчанию поиск повторяющихся записей в определённом диапазоне

Здравствуйте, помогите пожалуйста, очень плохо знаю SQL и уже дня два долбаюсь. Есть таблица "OSTANOVKI" - учет работы лифтов

| REG_NOM | Datatime_pusk | улица |
| 46-46-123 | 01.06.11 8:00 | 60 лет Октября |
| 46-46-123 | 02.06.11 4:00 | 60 лет Октября |
| 46-46-123 | 03.06.11 9:00 | 60 лет Октября |

если в определённом диапазоне даты и времени, лифт останавливался 3 раза и более то нужно вывести на экран

Select *
From "C:\YKLX\OSTANOVKI.DB"');
As OSTANOVKI
WHERE Datatime_pusk>="'+MaskEdit1.text+'" and Datatime_pusk<="'+MaskEdit2.text+'" and (((OSTANOVKI.REG_NOM) In (SELECT REG_NOM From "C:\YKLX\OSTANOVKI.DB" As OSTANOVKI GROUP BY REG_NOM HAVING Count(*)>=3 )))

запрос работает но не учитывается дата и время в группировке
т.е. если задать дату с 02.06.11 по 03.06.11 то результат

| REG_NOM | Datatime_pusk | улица |
| 46-46-123 | 02.06.11 4:00 | 60 лет Октября |
| 46-46-123 | 03.06.11 9:00 | 60 лет Октября |

хотя поля должны быть пустые т.к. только две записи
NIKVOC вне форума Ответить с цитированием
Старый 23.06.2011, 10:36   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,527
По умолчанию

Цитата:
запрос работает но не учитывается дата и время в группировке
учесть дату в группировке
Код:
Select *
From "C:\YKLX\OSTANOVKI.DB"');
As OSTANOVKI
WHERE Datatime_pusk>="'+MaskEdit1.text+'" 
     and Datatime_pusk<="'+MaskEdit2.text+'" 
     and ( ( ( OSTANOVKI.REG_NOM) In ( SELECT REG_NOM 
                                  From "C:\YKLX \OSTANOVKI.DB" As OSTANOVKI 
                               WHERE Datatime_pusk>="'+MaskEdit1.text+'" 
                          and Datatime_pusk<="'+MaskEdit2.text+'" 
                   GROUP BY REG_NOM HAVING Count(*)>=3 )))
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 23.06.2011 в 10:41.
evg_m вне форума Ответить с цитированием
Старый 23.06.2011, 10:49   #3
NIKVOC
Новичок
Джуниор
 
Регистрация: 23.06.2011
Сообщений: 3
По умолчанию

Огромное спасибо за помощь, попробовал как вы написали результат тот же
NIKVOC вне форума Ответить с цитированием
Старый 23.06.2011, 11:12   #4
NIKVOC
Новичок
Джуниор
 
Регистрация: 23.06.2011
Сообщений: 3
По умолчанию

Простите пожалуйста не выбрал в программе функцию "простоя". Вы были абсолютно правы, всё получилось огромное спасибо за помощь!
NIKVOC вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление повторяющихся записей в БД Dinamik БД в Delphi 8 22.03.2012 22:05
Поиск значения в диапазоне Sergey112233 Microsoft Office Excel 2 19.12.2010 20:54
Фильтрация повторяющихся записей euronymous SQL, базы данных 3 04.02.2010 15:17
Удаление повторяющихся записей gavrylyuk Microsoft Office Excel 3 28.06.2008 08:10
Поиск повторяющихся значений Flangini Microsoft Office Excel 23 22.02.2008 15:57