Я пишу довольно длинный отчет, который запускается без ошибок, но хотя я использую «выбрать отличительные», он по-прежнему показывает 11 строк для каждого уникального значения, о котором я пытаюсь сообщить.
Уникальное значение, которое мне нужно, чтобы отображать только 1 строку для каждого отдельного вхождения, - это номер дела, или «case.casenum».
Я включил снимок экрана с выводом, который дает довольно четкое представление о том, для чего я иду ... вот код:
SELECT distinct
(
SELECT count(distinct cases.casenum)
FROM (cases INNER JOIN user_case_data ON cases.casenum=user_case_data.casenum)
WHERE (user_case_data.discharged_date >= '##START##'
AND user_case_data.discharged_date <= '##END##')
)
AS "Total Lost Files", cases.casenum AS "Case Number", user_case_data.discharged_date AS "Discharged Date",
(case when case_notes.topic like 'LOS Case Status Update' THEN case_notes.note_date else null end)
AS "Gendoc #31 Mailed",
(case when case_checklist.code='101' then case_checklist.due_date else null end)
AS "Advised Attorney",
(case when case_notes.topic like 'LOS Updated Lein Ltr' THEN case_notes.note_date else null end)
AS "Sent Updated Lien Ltr",
(case when case_checklist.code='109' then case_checklist.due_date else null end)
AS "Time Allocation Completed",
(case when case_checklist.code='110' then case_checklist.due_date else null end)
AS "Attorney Signed Affidavit",
(case when case_checklist.code='111' then case_checklist.due_date else null end)
AS "Lien Letters Sent",
(case when case_checklist.code='112' then case_checklist.due_date else null end)
AS "Sent Lien to Counsel",
(case when case_checklist.code='113' then case_checklist.due_date else null end)
AS "Received Costs and Transferred"
FROM (cases LEFT JOIN case_checklist ON cases.casenum=case_checklist.case_id
LEFT JOIN user_case_data ON case_checklist.case_id=user_case_data.casenum
LEFT JOIN case_notes ON user_case_data.casenum=case_notes.case_num)
WHERE (user_case_data.discharged_date >= '##START##'
AND user_case_data.discharged_date <= '##END##')
ORDER BY user_case_data.discharged_date ASC;
Дополнительная информация:
-Каждый номер дела имеет только 1 дату выписки. Таким образом, для каждой строки должен быть только 1 номер дела и 1 дата выписки.
-Для номера дела в таблицах case_notes и case_checklist может быть много записей, однако я пытаюсь получить только 1 одиночная заметка (с указанием topi c в выписке case) и 1 единичный элемент контрольного списка (снова указывается в выписке case)
-Первый столбец на самом деле не нужен, и нет причин, по которым я хочу подсчитать общее количество случаев для каждой строки ... Я просто хотел, чтобы общее количество где-то в выводе и не знал, как еще я мог это сделать.