Xpoint
   [напомнить пароль]

SQL запросы

Метки: [без меток]
2009-09-27 20:43:35 [обр] komma2[досье]

Выборка двойников по дате (по дням) которые встречаются за определенный день несколько раз и за определенный месяц, например, есть записи:
idcode fio data1 data2
0123456789 Ivanov 01/01/2009 31/01/2009 *
0123456789 Ivanov 10/01/2009 10/01/2009 *
0123456789 Ivanov 01/02/2009 28/02/2009
2345678900 Petrov 01/01/2009 10/11/2009
2345678900 Petrov 11/01/2009 31/11/2009
1478523690 Sidorov 01/01/2009 31/01/2009
Ivanov встречается два раза за полный месяц 01/01/2009-31/01/2009 и за один день 10/01/2009-10/01/2009, таких записей необходимо найти!

Запрос работает но если дан второй месяц отличительно от первого то и второй месяц выберется, но мне нужно за определенный месяц
SELECT a.* FROM table a WHERE exists (SELECT 1 FROM table b WHERE;
a.idcode=b.idcode AND a.data1>b.data1;
group BY b.idcode HAVING(COUNT(idcode)>1);
) ORDER BY idcode

спустя 23 часа [обр] komma2[досье]
Разобрался:
SELECT a.* FROM table a INNER JOIN table b ON a.idcode=b.idcode where;
(YEAR(a.data1)=YEAR(b.data1) AND MONTH(a.data1)=MONTH(b.data1) AND DAY(a.data1)<>DAY(b.data1)) OR;
(YEAR(a.data2)=YEAR(b.data2) AND MONTH(a.data2)=MONTH(b.data2) AND DAY(a.data2)<>DAY(b.data2))
Powered by POEM™ Engine Copyright © 2002-2005