Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.039 c
3-83963
FOX
2003-05-29 13:30
2003.06.26
DBE + динамическая загрузка пакета


1-84301
Нуу
2003-06-07 03:14
2003.06.26
Совмещение оператора with с функцией Add


14-84672
DenKop
2003-06-08 20:51
2003.06.26
Знатокам MSOffice, Word


14-84700
AZ
2003-06-03 21:18
2003.06.26
А вы умеете мечтать?


6-84480
dimka
2003-04-21 13:18
2003.06.26
Две машины в своих локальных сетях есть прокси как организовать





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский