【问题标题】:Get Max Entry_Sr_no from another table in SP从 SP 中的另一个表中获取 Max Entry_Sr_no
【发布时间】:2016-12-25 00:14:03
【问题描述】:

我有一个 SP,它在一张桌子上给了我 mkeydoc_no

现在我想从另一个表中获取相应 mkeyentry_sr_no 的最大值。

这是我的 SP

alter procedure set_auto_action
    as 
        begin

            select mkey, doc_no from inward_doc_tracking_hdr 
           where status_flag not in (5,13)      
    end

我想从inward_doc_tracking_trl 表中获取max

两个表的关系如下所示

inward_doc_tracking_hdrmkey 等于inward_doc_tracking_trlref_mkey

请建议如何在 SP 中执行此操作

【问题讨论】:

    标签: sql sql-server stored-procedures sql-server-2005


    【解决方案1】:

    MAX() 的简单连接应该可以做到:

    select hdr.mkey, hdr.doc_no,MAX(trl.entry_sr_no) as max_no
    from inward_doc_tracking_hdr  hdr
    JOIN inward_doc_tracking_trl trl
     ON(hdr.mkey = trl.ref_mkey)
    where hdr.status_flag not in (5,13) 
    GROUP BY hdr.mkey, hdr.doc_no
    

    【讨论】:

    • 嗯,简单而完美。即使我尝试了同样的事情,但没有group by,我得到了太多的记录......
    • 另外,如果我想在同一个SP中检查记录是否大于1天,这是正确的and trl.U_Datetime < DATEADD(DAY, -1, GETDATE())吗?
    • 是的,您可以在 WHERE 子句上添加条件。 @stack
    猜你喜欢
    • 1970-01-01
    • 2023-03-20
    • 2014-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 2023-03-10
    相关资源
    最近更新 更多