Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / различные комбинации в результате объединения / 6 сообщений из 6, страница 1 из 1
16.03.2005, 02:51
    #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
16.03.2005, 07:01
    #32962112
Ilhom_uz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
различные комбинации в результате объединения
>ЗЫ вроде бы все просто, НО кроме извращений ничего не лезет в голову :(

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

пока сделал так: упроядочил обе таблицы по полю kod и делаю параллельные skip каждый раз формируя одну запись итоговой таблицы... может быть есть более прямые способы?
...
Рейтинг: 0 / 0
16.03.2005, 16:23
    #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
16.03.2005, 16:34
    #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
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / различные комбинации в результате объединения / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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