Я запрашиваю базу данных управления документами, где документы могут иметь много версий. Поэтому мой запрос ниже возвращает один и тот же документ несколько раз из-за версии.Выберите различные строки с максимальным значением другого столбца
SELECT distinct d.DOCNUM, d.DOCNAME,P.FolderName
FROM DOCUMENT as d with (nolock)
inner join Project_T as pt on d.docnum=pt.item_id
inner join Projects p on pt.prj_id=p.prj_id
where d.type = 'Personal' and d.owner like '%67360'
Результаты:
DOCNUM | DOCNAME | FOLDERNAME |
-----------+----------+---------------+
123 Article Jonathan
123 Article part1 Jonathan
256 Meeting Notes Jonathan
5697 Memo Jonathan
В идеале Docnum 123 должен возвращать только один раз.
Я присоединился к таблице, в которой содержатся версии для каждого документа, и я выбираю последнюю версию (MAX(h.version)
, поэтому мой запрос должен возвращать уникальные номера документов в строке.
SELECT distinct d.DOCNUM, h.version, d.DOCNAME,P.FolderName
FROM DOCUMENT as d with (nolock)
inner join DOCHISTORY as h on h.DOCNUM = d.docnum
inner join Project_T as pt on d.docnum=pt.item_id
inner join Projects p on pt.prj_id=p.prj_id
where d.type = 'Personal' and d.owner like '%67360'
and d.SECURITY = 'P'
AND h.VERSION = (SELECT MAX(x.version) FROM DOCHISTORY as X
where x.docnum = d.DOCNUM)
, но на этот раз я получить последние версии, однако, где DOCNAME немного отличается, она возвращает тот же Docnum несколько раз. см. ниже docnum 123.
DOCNUM | Version | DOCNAME | FOLDERNAME |
-----------+--------------+-------------+------------+
123 9 Article Jonathan
123 9 Article part1 Jonathan
256 1 Meeting Notes Jonathan
5697 21 Memo Jonathan
Мне нужно отобразить столбец docname в моем отчете. Есть ли способ, чтобы это понравилось?
Какое 'DOCNAME' должно быть показано тогда, в вашем примере выше? Поскольку есть два разных имени, должен быть способ отличить то, что вы действительно хотите –
Я не уверен, что это то, что вы можете исправить, не изменяя способ работы самой таблицы. Как бы то ни было, вы можете редактировать документ (в данном случае название документа) без другой версии создаваемого документа; это означает, что вы можете иметь разные версии документа с той же версией # и не иметь возможности различать их. –