Мне пришлось нелегко описать эту простую проблему ...
Я хочу вернуть ряд точек данных для столбчатой диаграммы с накоплением для каждой метки и столбца стека, независимо от того, существует ли запись дляточка данных Label / Bar - нулевое значение, возвращаемое там, где нет записи данных. «Отсутствующая» метка также должна быть включена:
Label Bar Value
a X 99
a Y 23
a Z 97
b X null
b Y 32
b Z null
У меня есть таблица DataLabel, которая содержит метки для каждого типа точки данных в стеке стержней, и таблица DataSeries, которая содержит метки оси X иЗначения оси Y, которые будут рассчитаны для каждой точки данных.
create table DataLabel
(id number
, label varchar2(10));
Insert into DataLabel values (1, 'a');
Insert into DataLabel values (2, 'b');
Create table DataSeries
(id number
, DataLabel_id number
, val number
, DataSeriesName varchar2(5));
Insert into DataSeries values (1, 1, 99, 'X');
Insert into DataSeries values (11, 1, 23, 'Y');
Insert into DataSeries values (12, 2, 32, 'Y');
Insert into DataSeries values (21, 1, 97, 'Z');
Проблема возникает в том случае, если таблица DataSeries не содержит соответствующего значения для DataLabel для данной точки данных.
Я управлял неэффективным решением, которое действительно возвращает желаемый результатв SQLfiddle с использованием объединения Union, но есть ли лучшее решение ....?