powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Оптимизация запроса
3 сообщений из 3, страница 1 из 1
Оптимизация запроса
    #37406439
DUZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DUZ
Гость
Запрос генерируется динамически. Название столбцов обозначены месяцами(1..12, январь..декабрь). по каждому месяцу выдает сумму. Но из за того, что столбец- это месяц , т.е. период времени указывается всегда разный, Получается 12 конкотенируемых подзапросов(очень громоздкий код). можно как то связать месяца и данные одним подзапросом. если можно пример.
пока реализовано так
begin
for dt in 1..12

loop
dt1 :=dt1||', d'||dt||'.m'||dt||' as "'||dt||'"';

dt2:=dt2||', SUM m'||dt||'
from таблицы
where условия
and Дата between месяц
and месяц+1

) d'||dt||'';
end loop;

g:='select '||dt1||' from '||dt2;

Модератор: Тема перенесена из форума "Microsoft SQL Server".
...
Рейтинг: 0 / 0
Оптимизация запроса
    #37408194
DUZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DUZ
Гость
Вопрос снят. Cделал через Decode.

begin
for dt in 1 ..to_char(LAST_DAY(trunc(****)), 'DD')

loop

dt1 :=dt1||', Decode( ***, '||dt||' , ***, null)';

end loop;

dt2:= ' (select *** from *** where ***)';

dt1 :=LTRIM(dt1,',');

g:= 'select ''Hi'' as " ", '||dt1||' from '||dt2;
end;
...
Рейтинг: 0 / 0
Оптимизация запроса
    #37408222
SvUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1. пользуйтесь SRC для разметки кода.
2. данный вопрос следовало задать в разделе oracle, поскольку он не имеет никакого отношения к этому разделу, и там вам дадут намного больше советов.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Оптимизация запроса
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]