Форум: "Базы";
Текущий архив: 2003.06.26;
Скачать: [xml.tar.bz2];
ВнизУсловная сборка таблиц Найти похожие ветки
← →
Endi (2003-05-29 20:58) [0]Всем здрасте.
Такой вопрос к Вам у меня.
Есть две таблицы, примерно таких:
1. F1 F2 F3 2. F1 F2
A 0.3 ШТ A 5
B 0.2 ШТ B 4
C 0.0 КГ C 3
D 0.1 ШТ D 4
Нужно получить, примерно такую:
F1 F2 F3 F4
A 0.3 КГ 1.5
B 0.2 КГ 0.8
C 1.0 КГ 3.0
D 0.1 КГ 0.4
т.е., все ШТ заменяются на КГ, если 1.F2=0, то заменяется на 1, далее происходит перемножение 1.F2 на 2.F2, из произведения коих получается F4.
Так вот, вопрос:
у меня лично уже мозги плавятся, но никак не догоняю - как получить конечную таблицу с помощью SQL.
← →
Zz_ (2003-05-29 21:04) [1]1. case
2. union с where
← →
ЮЮ (2003-05-30 07:20) [2]если 1.F2=0, то заменяется на 1
Логичнее вместо 0 иметь 1 (т.к. 1 кг весит 1 кг, а не 0), тогда можно просто умножать 1.F2 на 2.F2
← →
Sandman25 (2003-05-30 10:47) [3]
select t1.f1,
case
when t1.f2 = 0 then 1
else t1.f2
end f2,
case
when t1.f3 = "ШТ" then "КГ"
else t1.f3
end f3,
case
when t1.f2 = 0 then t2.f2
else t1.f2 * t2.f2
end f4
from t1,
t2
where t1.f1 = t2.f1
← →
Соловьев (2003-05-30 10:49) [4]СУБД?
← →
Sandman25 (2003-05-30 11:00) [5]2 Соловьев
Если вопрос был ко мне, то это Informix. На IB должно быть аналогично.
← →
Соловьев (2003-05-30 11:05) [6]
> Sandman25 © (30.05.03 11:00)
к автору поста
← →
Zacho (2003-05-30 11:08) [7]
> Sandman25 © (30.05.03 11:00)
Только не на IB, а на FB 1.5 :)
← →
Sandman25 (2003-05-30 11:57) [8]Zacho © (30.05.03 11:08)
Я последний раз на IB работал года 3 назад, так что FB даже не видел никогда :) Тем более FB 1.5 :)
← →
Zacho (2003-05-30 12:15) [9]
> Sandman25 © (30.05.03 11:57)
А в IB никогда не было CASE . CASE появился совсем недавно, в FB 1.5 А в IB такое можно сделать хранимой процедурой.
Впрочем, понятно, что за 3 года можно и позабыть что есть в IB, а чего нет :)
Но один черт, пока не узнаем, какая СУБД у автора ветки, правильный ответ дать не сможем :-)
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.06.26;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.028 c