需要以給定的查詢添加DISTINCT與ROW_NUMBER,我已經使用這個查詢的GridView在asp.net:-DISTINCT與ROW_NUMBER()
SELECT DISTINCT ROW_NUMBER() OVER (order by tbpan) AS 'Sr. No',
case when tbprofile = '3' then 'Applicant TBI'
when tbprofile = '4' then 'Prayas Center'
end 'Applicant Type',
REPLACE(ISNULL(DATEPART(yyyy,b.govtimevalid), '-'),0,'-') as 'Year',
[tbpan] AS 'Applicant Id',
ISNULL(a.PCId, '-') as 'PCId',
UPPER(tbname) AS 'Name',
UPPER(isnull(formstatus,'IN PROGRESS')) AS 'Form Status',UPPER(isnull(pmuapproval,'-')) AS 'PMU Status',
case when pmuapproval = 'valid'
then isnull (convert(Varchar, pmutimevalid, 107),'-')
else isnull (convert(Varchar, pmutimeinvalid, 107),'-')
end 'PMUDateTime',
UPPER(ISNULL(govapproval,'-')) AS 'PMC Status',
case when govapproval = 'valid'
then isnull (convert(Varchar, govtimevalid, 107),'-')
else isnull(convert(Varchar, govtimeinvalid, 107),'-')
end 'PMCDateTime',
ISNULL(SanctionedAmount,'0') AS 'Sanctioned Amount',
ISNULL((SanctionedAmount-BalDisbursed),'0') AS 'Total Disbursed',ISNULL(BalDisbursed,'0') AS 'Total Balance'
FROM tb_User a
LEFT OUTER JOIN applied b ON a.tbpan=b.tbid
LEFT OUTER JOIN tb_SanctionInfo c ON a.PCId = c.PCId
LEFT OUTER JOIN tb_DisbursedInfo d ON c.PCId = d.PCId WHERE tbprofile !='1' AND tbprofile !='2'
樣本數據和預期的結果將有助於解釋你想要做什麼。另外,你的問題表明你可以詢問更簡單的查詢。 –