以下是我的数据表:
+----------+--------------+--------+-------+---------------+-------------+--------+
| RegionID | ReceivedDate | FdNo | FmNo | FromRegionID | ToRegionID | HFlag |
+----------+--------------+--------+-------+---------------+-------------+--------+
| 26 | 2014-04-10 | 104152 | 1 | 26 | 27 | 1 |
| 26 | 2014-04-10 | 104152 | 1 | 27 | 26 | 0 |
| 26 | 2014-04-10 | 104152 | 2 | 26 | 27 | 1 |
| 26 | 2014-04-10 | 104152 | 2 | 27 | 26 | 0 |
| 26 | 2014-04-10 | 104152 | 3 | 26 | 27 | 1 |
| 26 | 2014-04-10 | 104152 | 3 | 27 | 26 | 0 |
| 26 | 2014-04-10 | 104152 | 4 | 26 | 27 | 1 |
| 26 | 2014-04-10 | 104152 | 4 | 27 | 26 | 0 |
+----------+--------------+--------+-------+---------------+-------------+--------+
我想从每组fdNo中选择最后一条记录。在样本表中我给出了重复计数为2的数据,实际上它可能是3,4,依此类推。
预期产出:
+----+-------------------------+--------+---+----+----+---+
| 26 | 2014-04-10 15:35:30.000 | 104152 | 1 | 27 | 26 | 0 |
| 26 | 2014-04-10 15:35:30.000 | 104152 | 2 | 27 | 26 | 0 |
| 26 | 2014-04-10 15:35:44.000 | 104152 | 3 | 27 | 26 | 0 |
| 26 | 2014-04-10 15:35:44.000 | 104152 | 4 | 27 | 26 | 0 |
+----+-------------------------+--------+---+----+----+---+
我想将Ans查询附加到我的Origininal Query(实际表格是brougt)
原始查询:
SELECT tblreceipt.regionid,
tblreceipt.receiveddate,
tblreceipt.folderno,
tblreceipt.formno,
tbltransite.dispatchfromregionid,
tbltransite.dispatchtoregionid,
tbltransite.horeceivedflag
FROM tblreceipt
LEFT OUTER JOIN tbltransite
ON tblreceipt.folderno = tbltransite.folderno
WHERE tblreceipt.folderno = 104152
答案 0 :(得分:0)
With CTE As (
select tblReceipt.RegionID,
tblReceipt.ReceivedDate,
tblReceipt.FolderNo,
tblReceipt.FormNo,
tblTransite.DispatchFromRegionID,
tblTransite.DispatchToRegionID,
tblTransite.HOReceivedFlag,
Row_Number() Over(Order By FmNo, HFlag) A Rn
from tblReceipt
left outer join
tblTransite
on tblReceipt.FolderNo = tblTransite.FolderNo
where tblReceipt.FolderNo = 104152
)
Select Top 1 From CTE Order By Rn Desc