Консультация № 65168
01.12.2006, 21:42
0.00 руб.
0 3 3
Уважаемые эксперты! Столкнулась с такой проблемой: при подговтоке статотчета делаю запрос SQL - выборка определенных данных из нескольких таблиц - работает хорошо, но если 3 карточки заведены на одного и того же человека (поля Фамилия, имя, отчество), то они считаются, как 3. В то же время есть вероятность, что могут быть просто однофамильцы. Подскажите пожалуйста, как можно решить эту проблему.

Обсуждение

Неизвестный
01.12.2006, 22:12
общий
это ответ
Здравствуйте, Zinaida!
скорее всего групировка в запросе идет по полю Фамилия. Что в корне не верно. групировка дожна быть по полю ID однозначно идентифицирующего человека.
Можно конечно группировать по трем полям Фамилия, имя, отчество. Но это тоже не гарантия, ведь могут же быть два и больше Иванова Ивана Ивановича
Неизвестный
01.12.2006, 22:18
общий
это ответ
Здравствуйте, Zinaida!
Попробуйте в вашем запросе учитывать дату рождения - если это просто однофамильцы, то вероятность очень мала, что у них даты рождения совпадут (если, конечно, не близнецы, которых родители решили назвать одним и тем же именем :-))
Неизвестный
02.12.2006, 01:26
общий
это ответ
Здравствуйте, Zinaida!
подобные ситуации могут случиться довольно часто.
идеальный выход - это работа с уникальным идентификатором клиента ID.
например, у нас данные о клиентах лежат в отдельной таблице (паспортные данные, адрес, регион проживания, координаты и т.д ), а в остальных таблицах используется только ID.
в выходную таблицу по идентификатору пользователя подтягиваются нужные данные.
Кроме фамилии и даты рождения в статотчетах могут также использоваться, например, регион проживания (это часто используется в страховании) ну и другие характеристики.
с уважением, Игорь
Форма ответа