Подскажите пожалуйста начинающему Как вычислить поле ("sum1" в Tabl2) из значения связанной (по полю "ind") таблицы ("price" в Tabl1)?
Tabl1:
Load
ind,
price
FROM
.....
Tabl2:
SQL SELECT
ind,
kol,
kol * price as [sum1]
from
.....
Привет, можно использовать left join чтобы "привязать нужные поля", а затем еще раз проход через resident и уже с вычислениями.
Можно и applymap() использовать. Смотря какие объемы и какие данные. Надо тестировать на реальных данных.
Вот тебе паттерны:
T1:
Load ind
,price
From ...;
Left join (T1)
SQL SELECT ind
,kol
From ...;
T2:
SQL SELECT ind
,price
,kol
,kol*price as sum1
Resident T1;
Drop table T1;
Rem Через маппинг;
T1:
mapping
Load ind
,price
From ...;
T2:
SQL SELECT ind
,kol
,ApplyMap('T1',ind,0) as price
,kol*ApplyMap('T1',ind,0) as sum1
From ...;
Drop table T1;
Спасибо за подсказки.
А по скорости вычислений и ресурсоёмкости есть разница между этими двумя способами?
а ещё, с ApplyMap похоже так не проходит?
T1:
mapping
Load ind
,price
From ...;
T2:
load
...
from...
Right join
SQL SELECT ind
,kol
,ApplyMap('T1',ind,0) as price
,kol*ApplyMap('T1',ind,0) as sum1
From ...;
Drop table T1;
Цитата: arthur1974 от 07 декабря 2017, 10:16:26
Спасибо за подсказки.
А по скорости вычислений и ресурсоёмкости есть разница между этими двумя способами?
Стоит по факту посмотреть, какой вариант для вас будет оптимальный. Прогнать 2 варианта.
По последнему вопросу: при наличии общих полей должен сработать right join.