У меня вопрос: у меня есть таблица с простым селектором, который отфильтровал таблицу по пользователю.в данный момент я хочу, чтобы селектор был множественным, чтобы отфильтровать данные по нескольким пользователям.по умолчанию я ставлю пользователя «Todos» (все на английском языке), в случае выбора пользователя «Todos» я выбираю столбец таблицы, чтобы выбрать всех пользователей.В противном случае я беру выбранного пользователя.
SELECT DISTINCT
p.pname AS project,
SUM(w.timeworked / 3600) OVER () AS sum_all_hours,
SUM(w.timeworked / 3600) OVER (PARTITION BY p.pname) AS suma_proyecto
FROM
jira.jiraissue j,
jira.worklog w,
jira.project p
WHERE
w.issueid = j.id
AND j.project = p.id
AND w.author IN (${Autor})
AND p.pname IN ('Area Económica',
'Proyectos Clinicos',
'Proyectos. Con sus componentes',
'Despliege y Soporte')
AND TO_CHAR(w.startdate,'yyyy-mm-dd') >= ${FromDate}
AND TO_CHAR(w.startdate,'yyyy-mm-dd') <= ${ToDate}
Этот код работает нормально, но пропускает пользователя 'Todos'.
Если я добавлю следующий код, пользователь будет работать с 'Todos', и если явыберите одного пользователя, но множественный выбор ничего не показывает.
SELECT DISTINCT p.pname AS project,
Sum(w.timeworked / 3600) OVER () AS sum_all_hours,
Sum(w.timeworked / 3600) OVER (partition BY p.pname) AS suma_proyecto
FROM jira.jiraissue j,
jira.worklog w,
jira.project p
WHERE w.issueid=j.id
AND j.project=p.id
AND w.author in(
CASE
WHEN ${Autor} = ' Todos' THEN author
else ${Autor}
END)
AND p.pname IN ('Area Económica',
'Proyectos Clinicos',
'Proyectos. Con sus componentes',
'Despliege y Soporte')
AND to_char(w.startdate,'yyyy-mm-dd') >=${FromDate}
AND to_char(w.startdate,'yyyy-mm-dd') <=${ToDate}