Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вставка одним запросом [D5, dBase, FoxPro]


Hawk2 ©   (2003-09-09 15:18:00) 

Помогите с запросом. Есть таблица:
ID GROUP SUMMA RMES
1 1 19.00 1
1 2 16.50 1
1 3 17.80 1
1 1 13.20 2
1 2 4.10 2
1 3 18.70 2
...................
Можно ли с помощью одного запроса загнать эти данные в таблицу с вот такой структурой:

ID GROUP1 GROUP2 GROUP3 RMES
1 19.00 16.50 17.80 1
1 13.20 4.10 18.70 2
............................
У меня только через промежуточную таблицу получается.


Hawk2   (2003-09-09 18:54:00) [1]

A_N_D © (09.09.03 16:05) [5]
Смысл понял, но запрос нужно вот такой:

select t1.id, t1.SUMMA, t2.SUMMA, t3.SUMMA, t1.rmes
from tabout t1
inner join tabout t2 on t2.rmes=t1.rmes and t2.gr=2
inner join tabout t3 on t3.rmes=t1.rmes and t3.gr=3
GROUP by t1.rmes, t1.SUMMA, t2.SUMMA, t3.SUMMA, t1.id

тогда по группам розносятся суммы, а если взять:
t1.group, t2.group, t3.groupто по группам разносятся группы.
Но тут еще одна проблема, даже при новом запросе у меня получается вот такое:

ID SUMMA SUMMA_1 SUMMA_2 RMES
1 16.50 16.50 17.80 1
1 19.00 16.50 17.80 1
1 17.80 16.50 17.80 1
1 13.20 4.10 18.70 2
1 18.70 4.10 18.70 2
1 4.10 4.10 18.70 2

А если поле SUMMA просумировать и згруппировать помесячно, то всеравно не выходит.


A_N_D   (2003-09-09 16:05:00) [2]

select t1.id, t1.group as group1, t2.group as group2, t3.group as group3, t1.rmes from tabin t1
inner join tabin t2 on t2.rmes=t1.rmes and t2.group=2
inner join tabin t3 on t3.rmes=t1.rmes and t3.group=3
where t1.group=1
order by t1.rmes

таблица одна, просто два раза join"ится


Hawk2   (2003-09-09 15:58:00) [3]

Немного непонятно t1.group, t2.group, t3.group это три таблицы с полем group или это должна быть одна таблица t1.group1, t1.group2, t1.group3. То есть промежуточная таблица всеравно будет, или нет?


Johnmen   (2003-09-09 15:42:00) [4]

>A_N_D © (09.09.03 15:32)

Направление правильное...:) Хоть запрос и неверен...


A_N_D   (2003-09-09 15:32:00) [5]

insert into tabout(id, group1, group2, group3, rmes)
select t1.id, t1.group, t2.group, t3.group, t1.rmes from tabin t1
inner join tabin t2 on t2.rmes=t1.rmes and t2.group=2
inner join tabin t3 on t3.rmes=t1.rmes and t3.group=3
where t1.group=1
order by t1.rmes


Johnmen   (2003-09-09 15:22:00) [6]

Нет.


Наверх

Титульная страница Поиск, карта сайта Написать письмо