繁体   English   中英

在SSRS报表设计器3.0中选择“最后记录”

[英]Select Last Record in SSRS report Designer 3.0

尝试从ShipHead.Shipdate而不是所有记录中获取最后/最后记录如何使用此查询来获取最后一条记录?

SELECT
  OrderRel.ReqDate
 ,OrderHed.EntryPerson
 ,ShipHead.ShipDate
 ,Customer.Name
 ,ShipDtl.OrderNum
 ,ShipDtl.OrderLine
 ,ShipDtl.OrderRelNum
  FROM
   OrderHed
    INNER JOIN OrderDtl
    ON OrderHed.Company = OrderDtl.Company AND OrderHed.OrderNum = OrderDtl.OrderNum
    INNER JOIN OrderRel
    ON OrderDtl.Company = OrderRel.Company AND OrderDtl.OrderNum = OrderRel.OrderNum AND         OrderDtl.OrderLine = OrderRel.OrderLine
  INNER JOIN ShipDtl
ON OrderRel.Company = ShipDtl.Company AND OrderRel.OrderNum = ShipDtl.OrderNum AND     OrderRel.OrderLine = ShipDtl.OrderLine AND OrderRel.OrderRelNum = ShipDtl.OrderRelNum
  INNER JOIN ShipHead
   ON ShipDtl.Company = ShipHead.Company AND ShipDtl.PackNum = ShipHead.PackNum
   INNER JOIN Customer
   ON ShipHead.Company = Customer.Company AND ShipHead.CustNum = Customer.CustNum
  WHERE
OrderRel.OrderNum = 603205

您可以尝试以下方法。 如果您想要每个录入人员的最新记录,则更改为B:

SELECT 
    X.ReqDate,
    X.EntryPerson,
    X.ShipDate,
    X.Name,
    X.OrderNum,
    X.OrderLine,
    X.OrderRelNum
FROM
  (
  SELECT
    ORl.ReqDate,
    OH.EntryPerson,
    SH.ShipDate,
    rn = row_number() OVER(ORDER BY SH.ShipDate DESC),
    --rn = row_number() OVER(PARTITION BY OH.EntryPerson ORDER BY SH.ShipDate DESC) --<<B
    C.Name,
    SD.OrderNum,
    SD.OrderLine,
    SD.OrderRelNum
  FROM
    OrderHed OH
    INNER JOIN OrderDtl OD ON 
        OH.Company = OD.Company AND 
        OH.OrderNum = OD.OrderNum
    INNER JOIN OrderRel ORl ON 
        OD.Company = ORl.Company AND 
        OD.OrderNum = ORl.OrderNum AND         
        OD.OrderLine = ORl.OrderLine
    INNER JOIN ShipDtl SD ON 
        ORl.Company = SD.Company AND 
        ORl.OrderNum = SD.OrderNum AND     
        ORl.OrderLine = SD.OrderLine AND 
        ORl.OrderRelNum = SD.OrderRelNum
    INNER JOIN ShipHead SH ON
        SD.Company = SH.Company AND 
        SD.PackNum = SH.PackNum
    INNER JOIN Customer C ON 
        SH.Company = C.Company AND 
        SH.CustNum = C.CustNum
    WHERE
      ORl.OrderNum = 603205
  ) X
WHERE X.rn = 1

PS:为什么不使用较短的别名-这是别名的一部分

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM