![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вставка одним запросом [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]
Нет.