with mostRecentId as ( select max(g1.messageid) messageid, message
from tbl_GS1_BatchMessages g1 with (nolock)
where g1.ownerType = 'MFR'
and g1.messageCode = 'UNRESOLVED BRAND'
and g1.createdate between '2022-12-28 00:00:00.000' and '2023-01-04 23:59:59.000'
group by message ),
itemCount as ( select distinct GTIN, message, ownerid
from tbl_GS1_BatchMessages g2 with (nolock)
where g2.ownerType = 'MFR'
and g2.messageCode = 'UNRESOLVED BRAND'
and g2.createdate between '2022-12-28 00:00:00.000' and '2023-01-04 23:59:59.000' )
select
--distinct
mostRecentId.messageid as pkid, CONVERT(nvarchar,g.createDate, 101) IssueDate, g.messagecode, g.message, g.clientName mfr_name, itemCount.GTIN
from tbl_GS1_BatchMessages g with (nolock)
inner join mostRecentId
on g.messageid = mostRecentId.messageid
inner join itemCount
on g.message = itemCount.message
and g.ownerid = itemCount.ownerid
where g.ownerType = 'MFR'
and g.createdate between '2022-12-28 00:00:00.000' and '2023-01-04 23:59:59.000'
and g.messageCode = 'UNRESOLVED BRAND'
--group by mostRecentId.messageid, CONVERT(nvarchar,g.createDate, 101), g.messageCode, g.message, g.clientName
select distinct pkid, issueDate, messagecode, message, mfr_name, count( GTIN ) issueCount
from qmd_test
group by pkId, issueDate, messageCode, message, mfr_name