Форум: "Базы";
Текущий архив: 2013.06.09;
Скачать: [xml.tar.bz2];
ВнизПоиск по несуществующему полю Найти похожие ветки
← →
dest81 (2010-11-12 13:39) [0]как можно реализировать в firebird запрос типа:
select col1,col1+50 as col2 from table1 where col2>100
пишет unknown column
← →
Anatoly Podgoretsky © (2010-11-12 13:49) [1]> dest81 (12.11.2010 13:39:00) [0]
Но несуществующему полю выдает несуществующие значения
SELECT Col1,NULL from table1
← →
sniknik © (2010-11-12 14:36) [2]> select col1,col1+50 as col2 from table1 where col2>100
=
select col1,col1+50 as col2 from table1 where col1>50
← →
Sergey13 © (2010-11-12 14:39) [3]Логически в данном случае конечно самое правильное
> [2] sniknik © (12.11.10 14:36)
но если в лоб и в общем случае, то
select col1,col1+50 as col2 from table1 where col1+50>100
← →
dest81 (2010-11-12 14:52) [4]
> но если в лоб и в общем случае, то
>
> select col1,col1+50 as col2 from table1 where col1+50>100
я наверно неудачный пример привел, поробую по другому:
Есть две таблицы:
1. table1
id integer,
name varchar
2. table2
id2 integer,
id integer,
total decimal(10,2)
такой запрос работает:
select t1.id,t1.name,sum(t2.total) as total_sum from table1 t1
left join table2 t2 on t1.id=t2.id group by .....
надо добавить фильтрацию по total_sum типа:
select t1.id,t1.name,sum(t2.total) as total_sum from table1 t1
left join table2 t2 on t1.id=t2.id and total_sum>20 group by .....
выдает unknown column, как это можно обойти?
← →
Sergey13 © (2010-11-12 14:58) [5]> [4] dest81 (12.11.10 14:52)
HAVING total_sum>20
← →
Anatoly Podgoretsky © (2010-11-12 14:59) [6]> dest81 (12.11.2010 14:52:04) [4]
total_sum>20 надо перевести во Where
← →
Sergey13 © (2010-11-12 15:01) [7]> [5] Sergey13 © (12.11.10 14:58)
вернее
HAVING sum(t2.total)>20
нельзя ничего делать с псевдонимами полей.
← →
dest81 (2010-11-12 15:18) [8]пасибо поробую
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2013.06.09;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.002 c