|
Выборка из БД мужчин от 60 и старше, женщин от 55 и старше на Foxpro 2.6
|
|||
---|---|---|---|
#18+
Пустые даты корректнее отслеживать через Datp - Datr , т.е. так будет без пустых Datr Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2016, 07:45 |
|
Выборка из БД мужчин от 60 и старше, женщин от 55 и старше на Foxpro 2.6
|
|||
---|---|---|---|
#18+
1 Да бесполые по данному запосу есть, хотя они не много, но два выходят бесполых с ненулевым значением (т.е. в столбце Srdoop с ненулевым значением это 1-4цифры, а с нулевым это 0) SELECT * FROM kartwib WHERE !inlist(Pol, 'ж', 'Ж', 'м', 'М') НО ЭТО ТАК К СВЕДЕНИЮ 2 SELECT * FROM kartwib WHERE !empty(Datr) and (; (Datr <= Datp - 60 * 365.25 and Pol = 'м') or (Datr <= Datp - 60 * 365.25 and Pol = 'М'); or (Datr <= Datp - 55 * 365.25 and Pol = 'ж') or (Datr <= Datp - 55 * 365.25 and Pol = 'Ж')) По данным Excel – 7016, пустых дат нет, но в фильтре видно что самые молодые с января-апрель, май – 8августа не показывает. Этот такой же результат SELECT * FROM kartwib WHERE !empty(Datr) and (Datr <= Datp - 60 * 365.25 or (Datr <= Datp - 55 * 365.25 and inlist(Pol, 'ж', 'Ж'))) 3 DATE – это из примера Student009, по его примеру тестировал 4 SELECT *FROM kartwib WHERE (Datp - Datr >= 60 * 365.25 or (Datp - Datr >= 55 * 365.25 and inlist(Pol, 'ж', 'Ж'))) Показывает тот же результат что и во 2 пункте (самые молодые с января-апрель, май – 8августа не показывает) ) 5 SELECT *FROM kartwib WHERE (Datp - Datr >= 60 * 365.25 or (Datp - Datr >= 55 * 365.25 and inlist(Pol, 'ж', 'Ж'))) Попробовал пересохранить dbf файл в dbf2.x сделал sql запрос и открыл снова через Excel кол-во показало 5854(гораздо меньше), но теперь в фильтре Excel показывает месяца из 1961года(янв фев март апр июнь), майских вроде нет, а вот июльские 2женщины увидел Одна женщина вылезла 1984г это пому что datp 2039(НО ЭТО МЕЛОЧЬ) НАПОМНЮ ВАМ ЧТО РЕЧЬ ИДЕТ ПРО ЖЕНЩИН 1961ГОДА КОТ НЕ ВЫБИРАЮТСЯ ВСЕ ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2016, 10:23 |
|
Выборка из БД мужчин от 60 и старше, женщин от 55 и старше на Foxpro 2.6
|
|||
---|---|---|---|
#18+
1 Показывает женщин по общей базе (из Excel). . . – 1961 4 августа - 3784ж 2 По запросу 3726ж НА 58 ЖЕНЩИН МЕНЬШЕ По этому запросу(2) SELECT *FROM kartwib WHERE (Datp - Datr >= 60 * 365.25 or (Datp - Datr >= 55 * 365.25 and inlist(Pol, 'ж', 'Ж'))) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2016, 10:48 |
|
Выборка из БД мужчин от 60 и старше, женщин от 55 и старше на Foxpro 2.6
|
|||
---|---|---|---|
#18+
Давай уже данные, без ФИО, только нужное. Запусти этот код Код: sql 1. 2.
и выкладывай сюда kartwib_copy.dbf ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2016, 12:27 |
|
Выборка из БД мужчин от 60 и старше, женщин от 55 и старше на Foxpro 2.6
|
|||
---|---|---|---|
#18+
или мне вышли сюда simepunez@lackmail.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2016, 12:32 |
|
Выборка из БД мужчин от 60 и старше, женщин от 55 и старше на Foxpro 2.6
|
|||
---|---|---|---|
#18+
Dima Tили мне вышли сюда simepunez@lackmail.ru Пришлите Диме сала в шоколаде. Хохол уже 4 страницы кала навоял. Простейшую задачу решить не может. Позорище. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2016, 16:35 |
|
Выборка из БД мужчин от 60 и старше, женщин от 55 и старше на Foxpro 2.6
|
|||
---|---|---|---|
#18+
Скинул ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2016, 10:26 |
|
Выборка из БД мужчин от 60 и старше, женщин от 55 и старше на Foxpro 2.6
|
|||
---|---|---|---|
#18+
dmr55Скинул Попробуй еще раз simepunez@lackmail.ru ящик одноразовый, возможно не принимает когда закрыт. И запакуй, возможно есть ограничения по размеру. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2016, 12:00 |
|
Выборка из БД мужчин от 60 и старше, женщин от 55 и старше на Foxpro 2.6
|
|||
---|---|---|---|
#18+
Проверь ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2016, 12:08 |
|
Выборка из БД мужчин от 60 и старше, женщин от 55 и старше на Foxpro 2.6
|
|||
---|---|---|---|
#18+
Получил. Выбирается 7016 записей, есть женщины 55 лет, добавил возраст в запрос Код: sql 1.
так тот же результат 7016 Код: sql 1. 2. 3.
Что именно не так по твоему мнению? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2016, 12:32 |
|
Выборка из БД мужчин от 60 и старше, женщин от 55 и старше на Foxpro 2.6
|
|||
---|---|---|---|
#18+
Если сохранить в excel то дата рождения у женщин 1961 года с января-апрель, с мая - август нету ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2016, 12:47 |
|
Выборка из БД мужчин от 60 и старше, женщин от 55 и старше на Foxpro 2.6
|
|||
---|---|---|---|
#18+
около 40 женщин 1961 с мая-август нету, не проверяя мужиков ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2016, 12:53 |
|
Выборка из БД мужчин от 60 и старше, женщин от 55 и старше на Foxpro 2.6
|
|||
---|---|---|---|
#18+
dmr55Если сохранить в excel то дата рождения у женщин 1961 года с января-апрель, с мая - август нету Нет потому что ты считаешь возраст на DATP (как понимаю дата проведения обследования), а последняя DATP 13.05.2016. Будут данные за май - август, будут и пенсионеры май-август 1961 года ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2016, 13:01 |
|
Выборка из БД мужчин от 60 и старше, женщин от 55 и старше на Foxpro 2.6
|
|||
---|---|---|---|
#18+
Тестировал с 01.01.2016 – 15.01.2016 ТЕСТ ПО ВСЕЙ БАЗЕ ПРАВИЛЬНО ПО ВСЕ БАЗЕ БЕЗ ВЫБОРОК Сохранил в Excel Datw 01.01.2016 – 15.01.2016 Srdoop 1-4 Добавляем новую ячейку и вставляем =РАЗНДАТ(E2;Q2;"y")&"г."&РАЗНДАТ(E2;Q2;"ym")&"мес."&РАЗНДАТ(E2;Q2;"md")&"дн." В E2 – ДАТА РОЖДЕНИЯ В Q2 – СТОИТ ТЕКУЩАЯ ДАТА Сначала ж 55-старше 53человека Потом м 60-старше 33человека Общее кол-во 86человек ТЕСТ ПО SQL ЗАПРОСУ ПРАВИЛЬНО SELECT * FROM kartwib WHERE !empty(Datr) and (; (Datr <= Datp - 60 * 365.25 and Pol = 'м') or (Datr <= Datp - 60 * 365.25 and Pol = 'М'); or (Datr <= Datp - 55 * 365.25 and Pol = 'ж') or (Datr <= Datp - 55 * 365.25 and Pol = 'Ж')) Srdoop 1-4 Общее кол-во 86человек ТЕСТ ПО SQL ЗАПРОСУ ПРАВИЛЬНО SELECT * FROM kartwib WHERE ((Datr <= Datp-60*365.25 or (Datr <= Datp - 55 * 365.25 and inlist(Pol, 'ж', 'Ж')))) Srdoop 1-4 Общее кол-во 86человек ВСТАВИЛ В КОД SET FILTER TO (((Datr <= Datp-60*365.25 or (Datr <= Datp - 55 * 365.25 and inlist(Pol, 'ж', 'Ж')))) .AND.(DATW>=MINDAT.AND.DATW<=MAXDAT).AND.SRDOOP>0) Итого – 76 Куда то потерялись 10 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2016, 07:51 |
|
Выборка из БД мужчин от 60 и старше, женщин от 55 и старше на Foxpro 2.6
|
|||
---|---|---|---|
#18+
dmr55Общее кол-во 86человек ВСТАВИЛ В КОД SET FILTER TO (((Datr <= Datp-60*365.25 or (Datr <= Datp - 55 * 365.25 and inlist(Pol, 'ж', 'Ж')))) .AND.(DATW>=MINDAT.AND.DATW<=MAXDAT).AND.SRDOOP>0) Итого – 76 Куда то потерялись 10 у меня получается 86 Код: sql 1. 2. 3.
т.е. проблема не в SET FILTER а где-то в другом месте. Смотри код. PS поправь проверку возраста чтобы пустые Datr не обрабатывались. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2016, 08:21 |
|
Выборка из БД мужчин от 60 и старше, женщин от 55 и старше на Foxpro 2.6
|
|||
---|---|---|---|
#18+
Если тут 19426842 исходный код, то у тебя вот еще проверка dmr55 Код: sql 1. 2. 3.
Посмотри в 86-ти сколько имеют EFFEKT=6 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2016, 08:30 |
|
Выборка из БД мужчин от 60 и старше, женщин от 55 и старше на Foxpro 2.6
|
|||
---|---|---|---|
#18+
Вставляю в код SET FILTER TO (Datp - Datr >= 60 * 365.25 or (Datp - Datr >= 55 * 365.25 and inlist(Pol, 'ж', 'Ж'))) .AND.(DATW>={^2016-01-01}.AND.DATW<={^2016-01-15}).AND.SRDOOP>0 count to q ? q нули какую либо дату не ставил Могу скинуть PRG файл ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2016, 09:27 |
|
Выборка из БД мужчин от 60 и старше, женщин от 55 и старше на Foxpro 2.6
|
|||
---|---|---|---|
#18+
dmr55нули какую либо дату не ставил ты мне мозг взорвал этой фразой Не обязательно в PRG писать, можно просто по очереди эти строки вставлять в окно command. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2016, 09:40 |
|
Выборка из БД мужчин от 60 и старше, женщин от 55 и старше на Foxpro 2.6
|
|||
---|---|---|---|
#18+
мне нужно именно в prg файл ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2016, 09:50 |
|
Выборка из БД мужчин от 60 и старше, женщин от 55 и старше на Foxpro 2.6
|
|||
---|---|---|---|
#18+
Ты с кракозябрами разобрался? Я проверил, из-за них потеряется ровно 10 женщин из 86-ти ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2016, 09:51 |
|
Выборка из БД мужчин от 60 и старше, женщин от 55 и старше на Foxpro 2.6
|
|||
---|---|---|---|
#18+
Как проверял? Кракозябры тогда, когда я делаю sql запрос в visual foxpro 6 - и кидаю(заменяю) karwib, запускал код с brow и у меня все русские в крякозябрах и количество показывало 86 А вот в коде SET FILTER TO (((Datr <= Datp-60*365.25 or (Datr <= Datp - 55 * 365.25 and inlist(Pol, 'ж', 'Ж')))) .AND.(DATW>=MINDAT.AND.DATW<=MAXDAT).AND.SRDOOP>0) Выбирая дату с 01.01.2016-15.01.2016 показывает 76, и крякозябр нету ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2016, 10:02 |
|
Выборка из БД мужчин от 60 и старше, женщин от 55 и старше на Foxpro 2.6
|
|||
---|---|---|---|
#18+
dmr55Как проверял? Убрал or (Datr <= Datp - 55 * 365.25 and inlist(Pol, 'ж', 'Ж')) - стало 76 записей Код: sql 1.
dmr55Кракозябры тогда, когда я делаю sql запрос в visual foxpro 6 - и кидаю(заменяю) karwib, запускал код с brow и у меня все русские в крякозябрах и количество показывало 86 Давай по порядку. Как понимаю сам код у тебя должен работать в Foxpro 2.6. Так? Открывай Foxpro 2.6 и смотри там на русские буквы: 1. Данные. Открываешь таблицу karwib и смотришь (brow). 2. Код. Открываешь свой PRG и смотри как написано 'ж', 'Ж' и удали одноименный FXP - это скомпилированный PRG, если ты двумя фоксами лазил, то возможно 6-м скомпилировал. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2016, 10:39 |
|
Выборка из БД мужчин от 60 и старше, женщин от 55 и старше на Foxpro 2.6
|
|||
---|---|---|---|
#18+
Да код работает в foxpro2.6 1 Открыл kartwib через foxpro2.6 (FOXPROLем) USE kartwib - brow - русские буквы есть 2 ж и Ж нормально написано SET FILTER TO (((Datr <= Datp-60*365.25 or (Datr <= Datp - 55 * 365.25 and inlist(Pol, 'ж', 'Ж')))) .AND.(DATW>=MINDAT.AND.DATW<=MAXDAT).AND.SRDOOP>0) .FXP удалил ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2016, 10:55 |
|
Выборка из БД мужчин от 60 и старше, женщин от 55 и старше на Foxpro 2.6
|
|||
---|---|---|---|
#18+
И что в итоге? 76 или 86? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2016, 11:33 |
|
|
start [/forum/topic.php?fid=41&msg=39289516&tid=1582071]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
60ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 300ms |
total: | 450ms |
0 / 0 |