INFO: I am working with Microsoft SQL.
Ok the title is confusing but here is an example of the table I\'m working with:
ID Value Signal Read
Similar query (uses CROSS APPLY and correlated subquery w/ TOP WITH TIES):
SELECT
a.CustodianAccountNum,
a.AccountName,
a.AccountName2,
a.AccountName3,
a.AccountStartDate,
a.AccountClosedDate,
a.TaxableFederal,
a.TaxableState,
qq.ValuationDate,
qq.MarketValue,
cg.ClientGroupGUID as ClientGUID,
c.ClientGUID as EntityGUID,
convert (bit, case when b.cnt > 1 then 1 else 0 end) as IsDuplicate
FROM (
SELECT
a.CustodianAccountNum,
MIN(a.AccountID) as AccountID,
count(*) as cnt
FROM Accounts a
WHERE
a.AccountID in (SELECT AccountID from dbo.FnGetFilteredAccountIDs(@CurrentUserID)) -- apply permisssions
and a.DeletedDate is null
group by a.CustodianAccountNum
) b
INNER JOIN Accounts a
ON
a.AccountID = b.AccountID
INNER JOIN ClientAccounts ca
ON
a.AccountID = ca.AccountID
and ca.DeletedDate is null
INNER JOIN Clients c
ON
ca.ClientID = c.ClientID
and c.DeletedDate is null
INNER JOIN ClientGroups cg
ON
c.ClientGroupID = cg.ClientGroupID
and cg.DeletedDate is null
CROSS APPLY
(
SELECT
SUM(MarketValue) as MarketValue,
MIN(ValuationDate) as ValuationDate
FROM
(SELECT TOP 1 WITH TIES arv.MarketValue, arv.ValuationDate
FROM AccountReturnValues arv
where
arv.AccountId = a.AccountId
and a.AccountClosedDate is null
order by ValuationDate desc
) q
) qq