У меня есть таблица действий в моем приложении. Он имеет идентификатор проекта, идентификатор активности, дату окончания базовой линии, фактическую дату окончания запланированной даты завершения и позднюю дату окончания.Oracle SQL несколько столбцов, выровненных по одному диапазону/легенде
Я хочу взять счетчик активности для каждой недели проекта в каждом столбце даты. Затем я хочу взять каждую из этих столбцов даты и построить их друг против друга.
Конечным результатом будет кривая, показывающая количество видов деятельности в неделю 2 по сравнению с фактическим количеством мероприятий в неделю 2 по сравнению с количеством запланированных мероприятий за вторую неделю и количеством поздних финишей в неделю 2.
Я могу это сделать, чтобы получить данные, чтобы показать ...
SELECT ACTIVITY.PROJECTOBJECTID,
ACTIVITY.OBJECTID,
TRUNC(ACTIVITY.BASELINEFINISHDATE,'W')+7 AS BLFIN,
TRUNC(ACTIVITY.ACTUALFINISHDATE,'W')+7 AS AFIN,
TRUNC(ACTIVITY.FINISHDATE,'W')+7 AS FIN,
TRUNC(ACTIVITY.REMAININGLATEFINISHDATE,'W')+7 AS LFIN
FROM PXRPTUSER.ACTIVITY ACTIVITY
WHERE (ACTIVITY.PROJECTOBJECTID = :POID)
Но теперь у меня есть четыре столбца даты. В идеале я хочу четыре столбца подсчета с одним столбцом даты. Вот пример данных, с которыми я должен работать.
PID AID BLFIN AFIN FIN LFIN
39987 5874494 2/22/2015 2/22/2015 6/15/2015
39987 5874495 2/22/2015 2/22/2015 6/15/2015
39987 5874496 2/22/2015 2/22/2015 6/15/2015
39987 5874497 2/22/2015 2/22/2015 6/15/2015
39987 5874498 2/22/2015 2/22/2015 6/15/2015
39987 5874499 4/22/2015 4/22/2015 6/15/2015
39987 5874500 2/22/2015 2/22/2015 6/15/2015
39987 5874501 2/22/2015 2/22/2015 6/15/2015
39987 5874502 4/8/2015 4/8/2015 6/15/2015
39987 5874503 4/8/2015 4/8/2015 6/15/2015
39987 5874504 4/8/2015 4/8/2015 6/15/2015
39987 5874505 5/15/2015 5/15/2015 6/15/2015
39987 5874506 5/15/2015 5/15/2015 6/15/2015
39987 5874507 4/8/2015 4/8/2015 6/15/2015
39987 5874508 4/8/2015 4/8/2015 6/15/2015
39987 5874509 4/8/2015 4/8/2015 6/15/2015
39987 5874510 4/8/2015 4/8/2015 6/15/2015
39987 5874511 4/8/2015 4/8/2015 6/15/2015
39987 5874512 4/8/2015 4/8/2015 6/15/2015
39987 5874513 4/8/2015 4/8/2015 6/15/2015
39987 5874514 4/8/2015 4/8/2015 6/15/2015
39987 5874515 4/8/2015 4/8/2015 6/15/2015
39987 5874516 4/8/2015 4/8/2015 6/15/2015
39987 5874517 4/8/2015 4/8/2015 6/15/2015
39987 5874537 2/22/2015 2/22/2015 6/15/2015
39987 5874538 2/22/2015 2/22/2015 6/15/2015
39987 5874539 2/22/2015 2/22/2015 6/15/2015
39987 5874540 2/22/2015 2/22/2015 2/22/2015
39987 5874542 2/22/2015 2/22/2015 6/15/2015
39987 5874543 2/22/2015 2/22/2015 6/15/2015
39987 5874544 2/22/2015 2/22/2015 6/15/2015
39987 5874545 2/22/2015 2/22/2015 6/15/2015
39987 5874546 2/22/2015 2/22/2015 6/15/2015
39987 5874547 2/22/2015 2/22/2015 6/15/2015
39987 5874548 2/22/2015 2/22/2015 6/15/2015
39987 5874549 2/22/2015 2/22/2015 6/15/2015
39987 5874550 2/22/2015 2/22/2015 6/15/2015
39987 5874551 2/22/2015 2/22/2015 6/15/2015
39987 5874552 2/22/2015 2/22/2015 6/15/2015
39987 5874553 2/22/2015 2/22/2015 6/15/2015
39987 5874554 2/22/2015 2/22/2015 6/15/2015
Это здорово !! Он работает точно так же, как это необходимо. Конечно, я сделал некоторые косметические изменения. Однако мне нужен идентификатор проекта слева от столбца WKN в каждой строке. Возможно, я запустил это против всех открытых проектов, а затем сгруппировал результаты в отдельный отчет. Я попытался изменить полное заявление о соединении, выполнив «full join af using (wkn, pid)», и это не сработало. Любые идеи о том, как я могу туда добраться? Большое спасибо! –
Я смог заставить его работать. Я добавил идентификатор проекта к операторам select в секции WITH. Затем я добавил id проекта в группу по предложениям. Затем я добавил идентификатор проекта до WKN. Затем я добавил PID до WKN в полном соединении. Presto! Огромное спасибо. –
Я рад, что это было полезно. Удачи вам в проекте :-) –