Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 вывод  [new]
Начинающий0595
Member

Откуда:
Сообщений: 15
имеется курсор К1 с полями фамилия, имя, номер, серия. и другой курсор К2 с такими же полями. нужно вывести в третий курсор К3 данные из курсора К1 и поля номер и серия из курсора К1. Как это сделать? То есть мне нужно чтобы в курсоре К3 были данные из К1 и соответствующие им номер и серия из К2. помогите новичку
1 ноя 12, 23:31    [13411539]     Ответить | Цитировать Сообщить модератору
 Re: вывод  [new]
reware
Member

Откуда: Хабаровск
Сообщений: 585
Начинающий0595
имеется курсор К1 с полями фамилия, имя, номер, серия. и другой курсор К2 с такими же полями. нужно вывести в третий курсор К3 данные из курсора К1 и поля номер и серия из курсора К1. Как это сделать? То есть мне нужно чтобы в курсоре К3 были данные из К1 и соответствующие им номер и серия из К2. помогите новичку

Алё, на бронекатере. Опять курсовой проект ? Ты наверно не дочитал книжку до конца, где говорится, что курсор есть всего-лишь ВРЕМЕННАЯ таблица, с которой можно обращаться (почти) как с обычным DBF. Т.е. применять к нему SELECT-SQL, SET RELATION, SEEK, INDEX ON и пр. После закрытия курсора он самоуничтожается. Ну нарисуй себе SELECT-SQL, чтобы вывести в третий курсор К3 данные из курсора К1 и поля номер и серия из курсора К1. Али так сложно ?
2 ноя 12, 00:04    [13411645]     Ответить | Цитировать Сообщить модератору
 Re: вывод  [new]
Начинающий0595
Member

Откуда:
Сообщений: 15
reware, я не программирую на фокспро почти. мне такой код просто нужен . можете помочь?
2 ноя 12, 06:37    [13411964]     Ответить | Цитировать Сообщить модератору
 Re: вывод  [new]
tanglir
Member

Откуда:
Сообщений: 28966
Читайте https://www.sql.ru/forum/actualthread.aspx?tid=940953
Если
Начинающий0595
мне такой код просто нужен
, то это путь 1.
2 ноя 12, 06:40    [13411967]     Ответить | Цитировать Сообщить модератору
 Re: вывод  [new]
Начинающий0595
Member

Откуда:
Сообщений: 15
прочитал статью по ссылке)) я свой код не выложил потому что он не выдает результата: вот код мой и судя по всему корявый

Select к1.фамилия,к1.имя, к1.номер, к2.серия as c,к2.номер as н from k1,k2 from k1.номер=к2.номер and к1.серия=к2.серия

такой код правильно будет работать или нет? я правильно пишу?
2 ноя 12, 06:50    [13411973]     Ответить | Цитировать Сообщить модератору
 Re: вывод  [new]
Начинающий0595
Member

Откуда:
Сообщений: 15
вместо второго from надо where
2 ноя 12, 06:58    [13411976]     Ответить | Цитировать Сообщить модератору
 Re: вывод  [new]
Начинающий0595
Member

Откуда:
Сообщений: 15
ну ответьте пожалуйста, я правильный по логике код пишу?
2 ноя 12, 07:14    [13411983]     Ответить | Цитировать Сообщить модератору
 Re: вывод  [new]
tanglir
Member

Откуда:
Сообщений: 28966
Начинающий0595, по синтаксису правильный (хотя лучше писать через джойн), а что касается логики, так вы ведь не озвучили, каким образом связаны 1 и 2 таблицы...
2 ноя 12, 07:39    [13412003]     Ответить | Цитировать Сообщить модератору
 Re: вывод  [new]
Начинающий0595
Member

Откуда:
Сообщений: 15
tanglir, Они связаны в основном по полям номер и серия.
2 ноя 12, 08:13    [13412040]     Ответить | Цитировать Сообщить модератору
 Re: вывод  [new]
Начинающий0595
Member

Откуда:
Сообщений: 15
и мне нужно вывести из курсора к2 поля номер и серия соответствующие человеку из курсора к1
2 ноя 12, 08:15    [13412044]     Ответить | Цитировать Сообщить модератору
 Re: вывод  [new]
Начинающий0595
Member

Откуда:
Сообщений: 15
через джойн как сделать напишите если не трудно, а то я в джойн путаюсь
2 ноя 12, 08:24    [13412074]     Ответить | Цитировать Сообщить модератору
 Re: вывод  [new]
reware
Member

Откуда: Хабаровск
Сообщений: 585
Начинающий0595
reware, я не программирую на фокспро почти. мне такой код просто нужен . можете помочь?

Опять старая песня "я не программирую на фокспро". А какого хрена лезешь в форумы фокспрошеиков ? Вот видите ли нужен ему некий код. Это чего, нынче общепринято, ну, там код (мегов на 10) или библ какой запонибратски попросить ?
2 ноя 12, 09:53    [13412410]     Ответить | Цитировать Сообщить модератору
 Re: вывод  [new]
tanglir
Member

Откуда:
Сообщений: 28966
Начинающий0595
tanglir, Они связаны в основном по полям номер и серия.
1)а не в основном?
2)а смысл тогда выводить номер-серию из 2-й таблицы, если они такие же, как и в первой?
3)вы опять идёте по первому пути...
2 ноя 12, 09:59    [13412449]     Ответить | Цитировать Сообщить модератору
 Re: вывод  [new]
Начинающий0595
Member

Откуда:
Сообщений: 15
tanglir, смысл в том что нужно вывести данные из курсора 1 и рядом номер и серию из второго чтобы проверить несоответствие. номеров. чтобы было наглядно видно у какого человека расхождение в номере. Я неправильно кажется вам объяснил.

в третьем курсоре нужно вывести рядом с полем номер поле номер из к2 соответствующий этому человеку.
2 ноя 12, 10:48    [13412751]     Ответить | Цитировать Сообщить модератору
 Re: вывод  [new]
tanglir
Member

Откуда:
Сообщений: 28966
Короче, либо вы показываете тестовые данные и желаемый результат (пользуйтесь тегом [ csv ]), либо помощи, скорее всего, не дождётесь.
2 ноя 12, 11:20    [13412997]     Ответить | Цитировать Сообщить модератору
 Re: вывод  [new]
Начинающий0595
Member

Откуда:
Сообщений: 15
tanglir, вот таблицы две выкладываю.. нужно в курсор или таблицу вывести данные из таблицы1 и поле номер из второй таблицы соответствующий этому человеку

К сообщению приложен файл (табл.rar - 448bytes) cкачать
2 ноя 12, 11:46    [13413237]     Ответить | Цитировать Сообщить модератору
 Re: вывод  [new]
tanglir
Member

Откуда:
Сообщений: 28966
Начинающий0595
соответствующий
критерий соответствия - тайна?
Но если это соответствие - совпадение номера и серии, то спрашиваю ещё раз - какой смысл выводить номер/серию из таблицы2, если они совпадают с данными таблицы1?
2 ноя 12, 12:09    [13413420]     Ответить | Цитировать Сообщить модератору
 Re: вывод  [new]
Начинающий0595
Member

Откуда:
Сообщений: 15
tanglir, в базе может быть так что номер вписали неверно, а из другой компании приходит файл где другой номер у этого же человека. поэтому нужно выводить рядом их.. Критерий соответствия фамилия, имя и номер, серия.
2 ноя 12, 12:18    [13413484]     Ответить | Цитировать Сообщить модератору
 Re: вывод  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7864
Таблица 1
Фамилия Имя Отчество Серия Номер
Иванов Иван Иванович 1 1
Иванов Иван Иванович 2 2

Таблица 2
Фамилия Имя Отчество Серия Номер
Иванов Иван Иванович 3 3
Петров Петр Петрович 1 1

Что должно получится в результате?
2 ноя 12, 15:46    [13415207]     Ответить | Цитировать Сообщить модератору
 Re: вывод  [new]
Начинающий0595
Member

Откуда:
Сообщений: 15
ВладимирМ, соответствующие поля серия и номер из второй таблицу нужно вывести рядом с полями номер и серия первой таблицы.
2 ноя 12, 15:56    [13415312]     Ответить | Цитировать Сообщить модератору
 Re: вывод  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7864
Какие записи из второй таблицы соответствуют записям из первой? В первом филиале есть 2 полных однофамильца. Во втором филиале 3-ий полный однофамилец.

Как, по каким признакам, Вы собираетесь определять, что это один и тот же сотрудник или разные, если серия и номер - не достоверны? Как Вы определите это полные однофамильцы (разные сотрудники) или один и тот же сотрудник, но с ошибкой в серии или номере?
2 ноя 12, 16:00    [13415351]     Ответить | Цитировать Сообщить модератору
 Re: вывод  [new]
Начинающий0595
Member

Откуда:
Сообщений: 15
ВладимирМ, а если такой случай. в обеих таблицах есть поля фамилия, имя, серия, номер и код. связаны по полям фамилия, имя, серия, номер. нужно вывести в третьем курсоре первую таблицу и поле код из второй таблицы соответствующий записям из первой.
2 ноя 12, 21:09    [13416840]     Ответить | Цитировать Сообщить модератору
 Re: вывод  [new]
tanglir
Member

Откуда:
Сообщений: 28966
Начинающий0595
а если такой случай
А если не такой?
Вы уже опишите задачу нормально, а?
2 ноя 12, 21:16    [13416871]     Ответить | Цитировать Сообщить модератору
 Re: вывод  [new]
Станислав С...кий
Guest
Что вы на ТС накинулись? Как ему задачу поставили. так он и объясняет...

Насколько я понял объяснения ТС, ему надо сравнить таблицу "своей" информационной системы с внешним файлом.
Здесь нельзя однозначно определить соответствие, лишь с некоторой вероятностью...
В реальной жизни для более однозначной идентификации к ФИО+номер документа добавляется еще либо дата выдачи документа, либо дата рождения человека.
Для полного счастья необходимо привести задачу еще "ближе к жизни" - предположить, что во внешних файлах ФИО набраны с ошибками. И при сравнении ФИО из разных таблиц надо использовать не простое равенство, а более сложные алгоритмы... Например, сравнение по Soundex()... Хотя, "родной" Soundex() FoxPro только для латиницы работал...

В примере же ВладимираМ, в результирующую таблицу несоответствие должно быть выведено дважды, так как мы не знаем к какому из однофамильцев Ивановых относится запись. Это должен разбирать специальный человек...

А так - задача сравнения двух таблиц из разных источников достаточно распространенная. Я поработал в Пенсионном Фонде в начале 2000-х и таких задач много порешал.
Например, ежемесячное закрытие пенсионных дел умерших пенсионеров. При этом списки умерших подаются внешней организацией - ЗАГСом.
И начинаются пляски с бубном: в нашей базе данные паспорта не обновлены, а в ЗАГСе - последние данные; в фамилии одна буква перепутана (когда, где, кем - кто разберет) ; указана не дата, а только год рождения и т.д....
В общем, я ТС понимаю...
3 ноя 12, 03:28    [13417656]     Ответить | Цитировать Сообщить модератору
 Re: вывод  [new]
Dima T
Member

Откуда:
Сообщений: 15281
Станислав С...кий
Что вы на ТС накинулись? Как ему задачу поставили. так он и объясняет...

А потом решит ее как смог... Вот так нарешают по принципу лишь бы работало, а потом по телевизору смотрим страсти про живых мертвецов, которых случайно в базе ЗАГСа на тот свет отправили и пенсии лишили. И ходит человек в судах доказывает что он не зомби.

Так что ТСу надо сначала поглубже разобраться с постановкой задачи, где какая инфа, откуда что берется, где какие опечатки допустимы, как сейчас поступают с подобными ошибками, а потом уже спрашивать как задачу решать.
3 ноя 12, 10:09    [13417764]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / FoxPro, Visual FoxPro Ответить