powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / sravnenie 2 tablitsi s odinokovim strukturami
14 сообщений из 14, страница 1 из 1
sravnenie 2 tablitsi s odinokovim strukturami
    #33489803
n1m2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kak mojno sravnit 2 tablitsu s odinokovim strukturami. V pervom tablitse 1 zapis, 2-m mnoqo. Nado nayti tochnoqo sovpodenie v vtorom tablitse. Vo 2-m tablitse yest li takoy zapis kak na 1-m tablitse.
...
Рейтинг: 0 / 0
sravnenie 2 tablitsi s odinokovim strukturami
    #33489846
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
См. SELECT - SQL
...
Рейтинг: 0 / 0
sravnenie 2 tablitsi s odinokovim strukturami
    #33490345
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
select cnt(*) from table_mnogo into array _cnt
select * from table_mnogo union select * from table_odin
if _tally<>_cnt
 ?'Нет такой записи'
else
 ?'Есть такая запись'
endif
...
Рейтинг: 0 / 0
sravnenie 2 tablitsi s odinokovim strukturami
    #33490654
n1m2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
A kak nayti imenno eti sovpadayushiyi zapisi.
...
Рейтинг: 0 / 0
sravnenie 2 tablitsi s odinokovim strukturami
    #33490987
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если связь именно один-ко-многим, т.е. в первой таблице неозможны дубли, то

Код: plaintext
1.
2.
3.
4.
5.
6.
SELECT * FROM tab2 ;
INNER JOIN tab1 ON tab2.Field1=tab1.Field1 ;
	AND tab2.Field2=tab1.Field2 ;
	AND tab2.Field3=tab1.Field3 ;
	AND tab2.Field4=tab1.Field4 ;
	...

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

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
SELECT * FROM tab2 ;
WHERE EXISTS(SELECT * FROM tab1
		WHERE tab2.Field1=tab1.Field1 ;
		AND tab2.Field2=tab1.Field2 ;
		AND tab2.Field3=tab1.Field3 ;
		AND tab2.Field4=tab1.Field4 ;
		...)

В условиях надо перечислить все поля, по которым происходит сравнение (поиск совпадающих записей). Если таблицы имеют уникальные идентификаторы записей, то достаточно в условиях сравнения указать только их.
...
Рейтинг: 0 / 0
sravnenie 2 tablitsi s odinokovim strukturami
    #33491116
n1m2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
U menya 48 poley nado sravnit. Ya dumal chto mojno kak to po druqomu.
A skolko and mojno postavit?
...
Рейтинг: 0 / 0
sravnenie 2 tablitsi s odinokovim strukturami
    #33491220
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
n1m2U menya 48 poley nado sravnit. Ya dumal chto mojno kak to po druqomu.
Без ключевого поля придется перечислять все 48 полей. Не проблема написать цикл и сделать через макроподстановку.

n1m2A skolko and mojno postavit?
Почитай HELP по настройке SYS(3055).

Ограничение накладывается не на количество условий, а на некоторую "сложность" условия. Если с 48 условиями не пройдет, то поиграйся настройкой SYS(3055)
...
Рейтинг: 0 / 0
sravnenie 2 tablitsi s odinokovim strukturami
    #33492085
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если полей много, а различия могут быть в любом, и надо найти конкретную
запись во 2 таблице, то проще все сделать SCANом, чем придумывать SELECT.
...
Рейтинг: 0 / 0
sravnenie 2 tablitsi s odinokovim strukturami
    #33493152
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi AndreTM!

Однако количество AND от этого не уменьшится, а вот скорость может и
снизится (смотря как написать конечно, и ЧТО именно надо найти - только
первую из отличающихся или их все).

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
sravnenie 2 tablitsi s odinokovim strukturami
    #33495076
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как один из вариантов:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
select table_odin
scatter to t_odin
select table_mnogo
scan
 scatter to t_mnogo
 if t_mnogo==t_odin
  exit
 endif 
endscan
if !eof()
 ...
...
Рейтинг: 0 / 0
sravnenie 2 tablitsi s odinokovim strukturami
    #33495491
n1m2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Nado nayti vse sovpodayushie zapisi.
...
Рейтинг: 0 / 0
sravnenie 2 tablitsi s odinokovim strukturami
    #33496174
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну так там, где exit - это запись найдена, вот и делай, что надо.
И тогда выглядеть будет так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
select table_odin
scatter to t_odin
select table_mnogo
IsRec=.f.
scan
 scatter to t_mnogo
 if t_mnogo==t_odin
  IsRec=.t.
  * Здесь запись найдена
 endif 
endscan
if !m.IsRec
 * Здесь, если нет ни одной найденной записи
endif
Если же ты имеешь ввиду, что надо отобрать сопадающие записи,
то какой в этом смысл - отбирать то, что уже знаешь (в table_odin) ?
...
Рейтинг: 0 / 0
sravnenie 2 tablitsi s odinokovim strukturami
    #33496433
n1m2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Table_odin i table_mnogo 2 raznie tablitsi i mne nado nayti v table_mnogo skolko takie zapisi kak v table_odin i ix recno() v table_mnogo.
AndreTM, Vash variant vsyo vremya dayut isrec=.t., yesli daje takie zapisi netu v table_mnogo.
...
Рейтинг: 0 / 0
sravnenie 2 tablitsi s odinokovim strukturami
    #33498270
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, во-первых, плохо согласуется:
авторKak mojno sravnit 2 tablitsu s odinokovim strukturami.
и
авторTable_odin i table_mnogo 2 raznie tablitsi
Во-вторых, набери уж тогда пример таблиц (или кинь его архивом)
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / sravnenie 2 tablitsi s odinokovim strukturami
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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