Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Запрос с датой / 10 сообщений из 10, страница 1 из 1
24.09.2007, 14:26
    #34821465
Scorpio_md
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с датой
Добрый день. Подскажите, делаю запрос:

res = SQLEXEC(con_handle3, "select * from li where ;
fam_ LIKE ?cFam and ;
imia_ like ?cImia and ;
otch_ like ?cOtch and ;
d_rogd_ = ?rogd",'li_s')

где сFam. cImia, cOtch, rogd - берутся из другой таблицы точнее dbf файла.

Вот в чем вопрос. Мне нужно отследить двойников с неправильными датами рождения. Для заливки этих лиц в новую БД.
Как мне здесь выбрать только на соответствие ФИО и год рождения.
...
Рейтинг: 0 / 0
24.09.2007, 15:15
    #34821681
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с датой
Непонятен вопрос. Приведи примеры: в дбф так-то (значения сFam, cImia, cOtch, rogd) на SQL сервере так-то, хочу чтобы в итого было то-то
...
Рейтинг: 0 / 0
24.09.2007, 15:24
    #34821725
Scorpio_md
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с датой
База LI на сервере:
ПЕТРОВ ПЕТР ПЕТРОВИЧ 15.01.1950

в DBF файле:
ПЕТРОВ ПЕТР ПЕТРОВИЧ 25.01.1950

Мне нужно чтобы программа при сделала сравнение по ФИО и году рождения, т.к. при поверхностной проверке выявилось, что раньше неправильно вводили дату рождения.

в dbf файле более 80000 лиц, совпало 40000, столько же небьет. Вот мне и нужно проверить людей, те которые совпадают по ФИО и году рождения буду вешать в новой БД все что было на них в старой базе, а те что не совпадают буду порождать новых людей в новой БД. Это чтобы свести до минимума порождение двойников.
...
Рейтинг: 0 / 0
24.09.2007, 15:27
    #34821739
Scorpio_md
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с датой
Хотя это один и тот же человек, но ошибочно введена дата рождения. И таких много., а лопатить 40 тыс человек вручную, тоскливо, заливать сходу большое количество двойников, опять таки, двойная работа.
...
Рейтинг: 0 / 0
24.09.2007, 15:46
    #34821841
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с датой
Функция YEAR() в фоксе и MSSQL работает одинаково. И LIKE непонятно зачем используешь
Код: plaintext
1.
2.
3.
4.
res = SQLEXEC(con_handle3, "select * from li where ;
                                  fam_ = ?cFam and ;                                  
                                  imia_ = ?cImia and ;
                                  otch_ = ?cOtch and ;
                                  YEAR(d_rogd_) = YEAR(?rogd)",'li_s')
...
Рейтинг: 0 / 0
24.09.2007, 16:09
    #34821973
Scorpio_md
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с датой
res = SQLEXEC(con_handle3, "select * from li where ;
fam_ = ?cFam and ;
imia_ = ?cImia and ;
otch_ = ?cOtch and ;
YEAR(d_rogd_) = YEAR(?rogd)",'li_s')

Это я пробовал, я использую не MSSQL а ORACLE 10

YEAR она не понимает, даже в самом sql в жабе прописывал:
select * from li where year(d_rogd_) = 1958
она мне кидает:

ORA-00904 "YEAR" invalid identifier
...
Рейтинг: 0 / 0
24.09.2007, 16:12
    #34821985
Scorpio_md
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с датой
когда я работаю с символьными переменными то использую LIKE, она более точно отрабатывает. На равно, у меня почемуто пропадают люди, их не находит.
...
Рейтинг: 0 / 0
24.09.2007, 16:27
    #34822038
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с датой
Scorpio_mdЭто я пробовал, я использую не MSSQL а ORACLE 10

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

Scorpio_mdкогда я работаю с символьными переменными то использую LIKE, она более точно отрабатывает. На равно, у меня почемуто пропадают люди, их не находит.

вообще-то LIKE должна использоваться так значение LIKE шаблон а у тебя значение LIKE значение что эквивалентно =. Может конечно в оракле это немного не так. Может с типами полей какая разница есть между dbf и ораклом.

Тут вроде кто-то с ораклом работал, может откликнутся или форум по ораклу поищи.
...
Рейтинг: 0 / 0
25.09.2007, 17:03
    #34825330
mitjay64
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с датой
Код: plaintext
1.
2.
3.
4.
5.
res = SQLEXEC(con_handle3, "select * from li where ;
fam_ = ?cFam and ; 
imia_ = ?cImia and ;
otch_ = ?cOtch and ;
trunc(d_rogd_,'yyyy') = trunc(?rogd,'yyyy')",'li_s')
только rogd надо как дату передавать.
...
Рейтинг: 0 / 0
26.09.2007, 21:39
    #34829599
Scorpio_md
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с датой
Спасибо. работает.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Запрос с датой / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]