Я создаю запрос, который использует в общей сложности около 20 столбцов.У меня есть много записей, которые являются дубликатами, потому что один столбец отличается.Этот столбец является своего рода флагом и может содержать только «Y» или «N».Моя проблема в том, что если флаг «Y», то для той же заявки есть также дополнительная строка с флагом «N».Как я могу показать только строки с «Y».Примечание: у некоторых результатов будет только правильное «N», поэтому я не могу использовать flag = «Y» в предложении where.
Запрос:
if object_id('tempdb.dbo.#HeaderCount') is not null drop table #HeaderCount
Select Distinct
[MCO Claim ID (ICN)] = c.claimid
,[Header Claim Acceptance Status] = Case When c.reject = 'Y' Then 'X' Else 'A' End
,[Header Claim Source Status] = Case When c.ClaimID not like '%A%' or c.claimid not like '%R%' Then 'OR'
When c.claimID like '%A%' Then 'AJ'
When c.claimID like '%R%' Then 'RV' End
,[Header Claim Ever Pended] = Case When ca.Orig_Status = 'PEND' Then 'Y' Else 'N' End
,[Header Claim Adjudication Payment Status] = c.Status
,[Member Medicaid ID] = ek.carriermemid
,[LDH Billing Provider ID] = '' --Optional
,[Billing Provider NPI] = p2.NPI
,[Servicing Provider NPI] = p.NPI
,[Header From Date of Service] = cast(c.StartDate as date)
,[Header To Date of Service] = cast(c.EndDate as date)
,[Date Claim Received by the MCO] = cast(c.CleanDate as date)
,[Date Claim Adjudicated by the MCO] = cast(c.adjuddate as date)
,[Date Claim Paid by the MCO] = cast(c.paiddate as date)
,[Billed Charges] = c.totalamt
,[MCO Paid Amount] = c.totalpaid
,c.formtype
,[BillType] = c.FacilityCode + c.BillClassCode
,c.reject
,c.status
into #HeaderCount
from PlanReport_QNXT_LA.dbo.claim c (NOLOCK)
left join PlanReport_QNXT_LA.dbo.affiliation a2 (NOLOCK)--pay to affiliation
on a2.affiliationid = c.affiliationid
left join PlanReport_QNXT_LA.dbo.provider p2 (NOLOCK) --pay to provider
on a2.affiliateid = p2.provid
inner join PlanReport_QNXT_LA.dbo.provider p (NOLOCK) --rendering provider
on p.provid = c.provid
inner join PlanReport_QNXT_LA.dbo.claim_audit ca (NOLOCK)
on c.claimid = ca.claimid
inner join PlanReport_QNXT_LA.dbo.member m (NOLOCK)
on c.memid = m.memid
inner join PlanReport_QNXT_LA.dbo.enrollkeys ek (NOLOCK)
on m.memid = ek.memid
and ek.segtype = 'int'
Where c.cleandate between '1/1/2017' and '1/31/2017'
Order By c.claimid
Iхочу видеть только одну строку (строку 'Y') для каждого [ИД заявки MCO (ICN)], в котором есть столбцы «Y» и «N» в столбце [Заявка на заголовок когда-либо отложена].Я думаю, что разделение по номеру строки может быть решением?
Пожалуйста, дайте мне знать, если мне нужно предоставить больше информации или это не имеет смысла.Я работаю над предоставлением образцов данных, как только устраню проблему с VPN, с которой столкнулся.Заранее спасибо.
Вот некоторые примеры данных:
[Идентификатор заявки MCO (ICN)] [Заявка на заголовок когда-либо отложена]
1 15059C063424A1 Y
2 15059C063424A1 N
3 15218C098293A2 N
В приведенном выше примере предположим, что все значения в каждом столбце (не показаны) одинаковы для строк 1 и 2, за исключением столбца [Заявка на заголовок когда-либо отложена],Я хочу видеть запись «Y», если таковая существует, для каждой заявки (не для записи Y и N).Кроме того, если [MCO Claim ID (ICN)] не имеет записи «Y», я хочу просмотреть запись «N».