Не и без използването на динамичен SQL за извършване на заявката.
Но ако желаете да кодирате твърдо стойностите, тогава:
Настройка на схема на Oracle 11g R2 :
CREATE TABLE PROD_TIMINGS( PROD_ID, START_DATE, TOT_HOURS) ASSELECT 'PR220', DATE '2017-09-19', 0 FROM DUAL UNION ALLSELECT 'PR2230', DATE '2017-09-19', 2 FROM DUAL UNION ALLSELECT „PR9702“, ДАТА „2017-09-19“, 3 ОТ DUAL UNION ALLSELECT „PR9036“, ДАТА „2017-09-19“, 0.6 ОТ DUAL UNION ALLSELECT „PR9036“, ДАТА „2017-09-18“ ', 3.4 ОТ DUAL UNION ALLSELECT 'PR9609', ДАТА '2017-09-18', 5 ОТ DUAL UNION ALLSELECT 'PR91034', ДАТА '2017-09-18', 4 ОТ DUAL UNION ALLSELECT 'PR7127', ДАТА '2017 -09-18', 0 ОТ ДВОЙНО;
Заявка 1 :
SELECT PROD_ID, START_DATE, CASE START_DATE WHEN DATE '2017-09-18' THEN TOT_HOURS ЗАВЪРШВАТ КАТО "MON-18", CASE START_DATE WHEN DATE '2017-09-19' THEN TOT_HOURS ЗАВЪРШВАТ AS "TUE- 19", TOT_HOURSFROM PROD_TIMEGS
<предварителен код>| PROD_ID | START_DATE | MON-18 | ВТУ-19 | TOT_HOURS ||---------|-----------------------|--------|----- ---|-----------|| PR220 | 2017-09-19T00:00:00Z | (нула) | 0 | 0 || PR2230 | 2017-09-19T00:00:00Z | (нула) | 2 | 2 || PR9702 | 2017-09-19T00:00:00Z | (нула) | 3 | 3 || PR9036 | 2017-09-19T00:00:00Z | (нула) | 0,6 | 0,6 || PR9036 | 2017-09-18T00:00:00Z | 3.4 | (нула) | 3.4 || PR9609 | 2017-09-18T00:00:00Z | 5 | (нула) | 5 || PR91034 | 2017-09-18T00:00:00Z | 4 | (нула) | 4 || PR7127 | 2017-09-18T00:00:00Z | 0 | (нула) | 0 |