powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / различные комбинации в результате объединения
6 сообщений из 6, страница 1 из 1
различные комбинации в результате объединения
    #32962082
tiler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть две таблицы:
t1 (num i, kod c(5))
t2 (har i, kod c(5))
связь по полю kod

нужно в результате объединения получить для различных har, различные num (для каждого кода (kod) количество записей в t1 и t2 одинаково)
например:
t1:
1 iz444
2 iz444
3 iz444

t2:
7 iz444
9 iz444
1 iz444

t_result:
1 iz444 7
2 iz444 9
3 iz444 1

ЗЫ вроде бы все просто, НО кроме извращений ничего не лезет в голову :(
...
Рейтинг: 0 / 0
различные комбинации в результате объединения
    #32962112
Ilhom_uz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>ЗЫ вроде бы все просто, НО кроме извращений ничего не лезет в голову :(

Да время сколько?
На утро подумай...
...
Рейтинг: 0 / 0
различные комбинации в результате объединения
    #32962130
w3d
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если все еще ничего не придумал, то:
Код: plaintext
select * from t1, t2 where t1.kod=t2.kod
так пойдет?
...
Рейтинг: 0 / 0
различные комбинации в результате объединения
    #32962678
tiler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
w3dесли все еще ничего не придумал, то:
Код: plaintext
select * from t1, t2 where t1.kod=t2.kod
так пойдет?
нет...в результате этого запроса имеем для каждого num все возможные har, т.е. для моего примера это будет 9 строчек, а мне надо получить те же три строчки при этом у всех них разные har и разные num (например, смотри мой первый пост)

пока сделал так: упроядочил обе таблицы по полю kod и делаю параллельные skip каждый раз формируя одну запись итоговой таблицы... может быть есть более прямые способы?
...
Рейтинг: 0 / 0
различные комбинации в результате объединения
    #32963941
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну если вы гарантируете 100 % соответсвие один к одному то как то так

select num,kod from t1 order by kod,num into curs qq1
select num,kod,recno() as r1 from qq1 into curs qq2
select har,kod from t2 order by kod,num into curs qq3
select har,kod,recno() as r2 from qq1 into curs qq4

select num,har,qq4.kod from qq4,qq2 where r1=r2 and qq4.kod=qq2.kod into curs qq5

но вообще надежней через перебор
...
Рейтинг: 0 / 0
различные комбинации в результате объединения
    #32963971
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
совсем извращенно
select num,kod from t1 order by kod,num into curs qq1
select num,kod,recno() as r1 from qq1 into curs qq2
select kod,min(r1) as r1 from qq2 into curs qq3 group by kod
select qq2.kod,num,(qq2.r1-qq3.r1) as r1 from qq2 left join qq3 on qq2.kod=qq3.kod into curs qq5

select har,kod from t2 order by har,num into curs qq1
select har,kod,recno() as r1 from qq1 into curs qq2
select kod,min(r1) as r1 from qq2 into curs qq3 group by kod
select qq2.kod,har,(qq2.r1-qq3.r1) as r1 from qq2 left join qq3 on qq2.kod=qq3.kod into curs qq4

select nvl(num,0) as num,nvl(har,0) as har,nvl(qq4.kod,qq5.kod) as kod from qq4 full join qq5 on qq4.kod=qq5.kod and qq4.r1=qq5.r1 into curs qq6
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / различные комбинации в результате объединения
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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