Форум: "Базы";
Текущий архив: 2003.09.29;
Скачать: [xml.tar.bz2];
ВнизВставка одним запросом Найти похожие ветки
← →
Hawk2 (2003-09-09 15:18) [0]Помогите с запросом. Есть таблица:
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
............................
У меня только через промежуточную таблицу получается.
← →
Johnmen (2003-09-09 15:22) [1]Нет.
← →
A_N_D (2003-09-09 15:32) [2]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:42) [3]>A_N_D © (09.09.03 15:32)
Направление правильное...:) Хоть запрос и неверен...
← →
Hawk2 (2003-09-09 15:58) [4]Немного непонятно t1.group, t2.group, t3.group это три таблицы с полем group или это должна быть одна таблица t1.group1, t1.group2, t1.group3. То есть промежуточная таблица всеравно будет, или нет?
← →
A_N_D (2003-09-09 16:05) [5]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 18:54) [6]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 просумировать и згруппировать помесячно, то всеравно не выходит.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.09.29;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.01 c