powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как по условию из другой базы все записи в одно поле сложить?
4 сообщений из 4, страница 1 из 1
Как по условию из другой базы все записи в одно поле сложить?
    #34251580
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет!

Есть две базы
1я - содержит номер документа, дату, уин(integer ai) и тп и тд
2я - является списком людей, относящихся к этому документу по уину документа.

Как сделать выборку, чтоб были поля - номер документа, дата (это понятно - из первой базы берется) и в одном поле все фамилии из 2й базы, через запятую, соответственных людей?
Нужно для поиска номера документа по фамилии тела. Понятно, что можно искать просто по второй базе, но тогда в поиске нужно указывать, что ищешь именно нумер именно по фамилии. А чтоб поиск универсальным был? Ввел чел туда инфу, а что именно - неизвестно, поэтому ищем сразу по полю и номер документа и фамилии, а тогда иначе как чтоб все фамилии были в одном поле - не сделать или как?
...
Рейтинг: 0 / 0
Как по условию из другой базы все записи в одно поле сложить?
    #34251744
-=AlexiS=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все-таки наверное лучше сделать поиск таким , чтобы можно было указать , что ищем.
А то например захочет юзер найти документ за номером 10 и что -
ему вывалиться и номера 100 1000 110 и т.д. , туда же пойдут даты с 10 числом и 10 месяцем.
Ну а для того чтобы "склетить" все фамилии - пишешь свою функцию и ее используешь в селекте
типа так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
select t1.nomer,t1.data,f1(t1.kod) from t1

function f1(kod)
sss=''
select fio from t2 where t2.kod=kod into cursor a1
if reccount('a1')<> 0 
 select a1
  scan
   sss=sss+fio+','
  endscan 
endif
if len(sss)<> 0 
 sss=left(sss,len(sss)- 1 )
endif
return sss 

PS Код не проверял - писал прям тут - ну думаю общее направление понятно...
...
Рейтинг: 0 / 0
Как по условию из другой базы все записи в одно поле сложить?
    #34251952
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сенксь.

Подозревал что надо свою фунцию писать, но надеялся что мож есть какая-то существующая.

Впрочем и поиска еще нет, просто прикидываю как лучше сделать... С одной стороны чаще всего только один чел соотносится с документом, но бывает и больше двух, но насколько больше - неизвестно. Опять же - есть ограничение на характерное поле (char type) - 255 символов, а еси не влезет как раз та хвамилия что искать будут?
...
Рейтинг: 0 / 0
Как по условию из другой базы все записи в одно поле сложить?
    #34252088
CTAC-KOСенксь.

Подозревал что надо свою фунцию писать, но надеялся что мож есть какая-то существующая.

Впрочем и поиска еще нет, просто прикидываю как лучше сделать... С одной стороны чаще всего только один чел соотносится с документом, но бывает и больше двух, но насколько больше - неизвестно. Опять же - есть ограничение на характерное поле (char type) - 255 символов, а еси не влезет как раз та хвамилия что искать будут?
Предложения:

1. Может лучше парсер сделать для поиска и select-sql использовать?
Типа вводит человек через запятую что ему надо найти, парсер обрабатывает и формирует условие WHERE для sql-запроса.
По крайней мере, не через Ж... (извините, конечно)

2. Сделать нормальную форму для поиска с двума полями: номер документа и фамилия
Если ввели номер, то обрабатываем номер; если ввели фамилию, то обрабатываем фамилию; если ввели и то и другое - обрабатываем все вместе. Опять же через WHERE-условие...
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как по условию из другой базы все записи в одно поле сложить?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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