Вниз
Скачать: CL | DM;

запрос   Найти похожие ветки 

← →
maxon ©   (2002-07-15 10:31) [0]

Как мне сфомировать запрос из одного столбца одной таблицы, чтобы результатом были три столбца, т.е. у меня фактически два столбца, в одном дата в другом значения, мне нужно чтобы в результате запроса получились три столбца - 1 декада, 2,3. Спасибо.


← →
Johnmen ©   (2002-07-15 10:38) [1]

????????????? Непонятно, однако...



← →
zx ©   (2002-07-15 10:43) [2]

DATEPART
Потроши дату и определяй декаду


← →
maxon ©   (2002-07-15 11:03) [3]

потрошить дату не проблема, дело в том, что если в запросе указать "select name,data,sum(value) from "таблица" where data>="2001.01.01 ans data<="2002.01.01" group by data", то
результатом будет:
name data value
misha 01.01.2002 123123
sasha 02.01.2002 34234 и т.д, а вот как сделать запрос, чтобы получилось на подобе:
name 1 декада 2 декада 3 декада
misha 3223 23423 32432
sasha 321 23 34


← →
ПИТОН   (2002-07-15 11:18) [4]

Сделай 3 запроса по каждой из декад и объедини Union-ом


← →
Johnmen ©   (2002-07-15 11:39) [5]

Типа
select name,data,(select ... where связка),(select ... where связка),(select ... where связка) from "таблица" where data>="2001.01.01 ans data<="2002.01.01" group by name,data



← →
maxon ©   (2002-07-15 12:24) [6]

эта конструкция для SQL 2000?, SQL 7.0 пишет "Only one expression can be specified in the select list when the subquery is not introduced with EXISTS", может есть другие пути?


← →
Johnmen ©   (2002-07-15 12:46) [7]

Если такая конструкция не катит - то за один запрос в горизантальном срезе не получится.


← →
zx ©   (2002-07-16 15:06) [8]

Создай временную таблицу.
И обновляй курсором.


← →
AlexGreG ©   (2002-07-16 15:44) [9]

Добавь поле "Декада", при вводе данных определяй декаду и сохраняй в этом поле.

затем, если тебе нужно в интерфейсе отобразить такую таблицу, то используй вычисляемые поля, анализируя поле "декада" заполняй соответствующую колонку.

Вот.


← →
AlexSV ©   (2002-07-16 19:17) [10]

Похоже тебе надо что-то такого типа:

select d1_name, d1_value, d2_value, d3_value
from (select name as d1_name, sum(value) as d1_value
from table
where data>="2001.01.01 ans data<"2001.04.01
group by name) d1_table
join (select name as d2_name, sum(value) as d2_value
from table
where data>="2001.04.01 ans data<"2001.07.01
group by name) d2_table
on d2_table.d2_name = d1_table.d1_name
join (select name as d3_name, sum(value) as d3_value
from table
where data>="2001.07.01 ans data<"2001.10.01
group by name) d3_table
on d3_table.d3_name = d1_table.d1_name

Писал прямо здесь, поэтому если что, извини.
Пытался передать идею.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.013 c
1-24124
V.Turecky
2002-07-26 15:31
2002.08.08
Transparent in TImage...


3-23923
saxon
2002-07-15 19:23
2002.08.08
Stored Procedure In IB


1-24064
aev
2002-07-26 09:49
2002.08.08
Типы


6-24142
Draculenok
2002-05-27 11:40
2002.08.08
Как открыть сайт!??


4-24273
Azo
2002-06-03 09:41
2002.08.08
Вызов почтовой программы.




   Наверх