Как я могу отобразить некоторые записи с двумя условиями из разных столбцов - PullRequest
0 голосов
/ 14 января 2020

У меня есть этот код:

select
to_char(sysdate -0.25,'DAY') day,
t.task_id,
NVL (pu.part_id, 'NONE') part_id,
p.part_type,
t.request_id,
(select(concat(concat (p.first_name, ' '), p.last_name)) from person p where t.person_id = 
p.person_id) name,
pu.quantity,
to_number(pu.user_def15, '9999999.99') lunch,
to_char(cast(t.actual_start_dttm as timestamp) at time zone 'US/Eastern', 'HH24:MI') started,
to_char(cast(t.actual_end_dttm as timestamp) at time zone 'US/Eastern', 'HH24:MI') ended,
NVL(pu.user_def2, 'MISSING') description,
case when NVL(pu.user_def2, 'MISSING') = 'MISSING' then '#FF0000' else '#000000' end description_c,
t.task_status,
to_char(cast(t.plan_start_dttm as timestamp) at time zone 'US/Eastern', 'YYYY-MM-DD') start_date,
to_char (sysdate-0.25,'DD-MM-YYYY HH24:MI') today
from task t 
LEFT JOIN part_usage pu ON t.task_id = pu.task_id LEFT JOIN part p ON pu.part_id = p.part_id
where 

t.access_group = 'CAPCA'
and to_char(cast(t.plan_start_dttm as timestamp) at time zone 'US/Eastern', 'YYYY-MM-DD') =
CASE WHEN
to_char(sysdate - 0.25,'DAY') = 'MÅNDAG '
THEN
 to_char (sysdate-3.25, 'YYYY-MM-DD')
ELSE
 to_char (sysdate-1.25, 'YYYY-MM-DD')
END
order by name, started

и вот мои результаты по экспорту в Excel:

enter image description here В моем коде, в 4-й строке У меня есть NVL, который пишет 'NONE', если нет записи, и 12-го числа NVL, которые пишут 'MISSING'. Проблема в том, что это NVL, это происходит, только если нет никакого результата. Мне нужно получить тот же результат, если результат не найден с part_type как 'LABOR'. Так что в этом примере на рисунке таблицы Excel строка 3, которая имеет 'CONS' как part_type, должна отображаться как строки 2,5, и 15 потому что нет результатов 'LABOR'. Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...