Запрос на количество одинаковых записей

Wolf79
Дата: 21.02.2008 18:02:45
Привет всем.

Помогите советом.

Есть база данных такого типа:
http://www.unknown.com.ua/sqlru/Skrin.JPG
Данные очень часто повторяютса в полях.

Необходимо нарисовать запрос который будет:

По выбранному периоду даты - суммировать в столбик количество повторяющихся Фамилий со всех полей впределах указанного диаппазона по дате.

Типа:
Иванов - 3
Петров - 1
Сидоров - 1
Николаев - 3
Романюк - 1
Петрик - 1
и т.д.

Как это лучше сделать?
Wolf79
Дата: 21.02.2008 18:08:59
Как в одном поле такое сделать. то вроде получаеться, а вот все поля прикрутить немогу...
Да и в пределах выбранного диаппазона как?
Karfaqen
Дата: 21.02.2008 18:13:28
По выбранному периоду даты - суммировать в столбик количество повторяющихся Фамилий со всех полей впределах указанного диаппазона по дате.
Попробуйте в таком духе:
SELECT Фамилия, COUNT(*) AS КолВо FROM (
SELECT Дата, [1-1] AS Фамилия FROM Таблица1 UNION ALL
SELECT Дата, [2-2] AS Фамилия FROM Таблица1 UNION ALL
SELECT Дата, [3-3] AS Фамилия FROM Таблица1 UNION ALL
SELECT Дата, [4-4] AS Фамилия FROM Таблица1) AS T
WHERE Дата BETWEEN [ДатаОТ] AND [ДатаДО]
GROUP BY Фамилия
Wolf79
Дата: 23.02.2008 14:55:38
Спасибо. :) Работает.
А это можно както к форме привязать.
Так чтоб даты выставлять в полях (от и до), а оно втомарически считало?
Karfaqen
Дата: 23.02.2008 15:34:06
Можно. Сделайте в форме два поля с именами ДатаОТ и ДатаДО, вводите туда свои даты, а в запросе вместо:
WHERE Дата BETWEEN [ДатаОТ] AND [ДатаДО]
напишите
WHERE Дата BETWEEN Forms![ИмяФормы]![ДатаОТ] AND Forms![ИмяФормы]![ДатаДО]
Wolf79
Дата: 24.02.2008 01:30:10
Превосходно...
Спасибо огромное :)
А дописать с переди номер по порядку ещё можно? :)
Karfaqen
Дата: 24.02.2008 01:34:37
А дописать с переди номер по порядку ещё можно? :)
Можно, но в таком запросе это будет накладно по времени (если что - поиск по форуму: нумерация строк, номер по порядку - и т.п.).

Если вам это надо для ОТЧЕТА, то лучше этот порядковый номер сделать прямо там (там есть свойство у поля - "сумма с накоплением").
mds_world
Дата: 24.02.2008 01:35:10
Wolf79
А дописать с переди номер по порядку ещё можно? :)
Посмотрите в ФАКе тему про Counter (счетчики), там есть вопрос (и ответы) про генерацию счетчиков в запросах.
Wolf79
Дата: 26.02.2008 13:35:53
Всё... Всем спасибо за помощь...
Особенная благодарность Karfaqen
Wolf79
Дата: 20.03.2008 19:32:30
А подскажите пожалуйста...

Там попадаються пустые строки, запрос их тоже считает...
Как сделать чтоб пустые не считались и не показывались вовсе?