Tsql T-SQL,省略不需要的结果

Tsql T-SQL,省略不需要的结果,tsql,sql-server-2008,Tsql,Sql Server 2008,如何仅显示与“输入”相比对应位置具有最大“输入”数的项目(对不起,我的英语不好) 假设你只想要没有匹配输出的输入 LocationCode ResourceId STORE 001[edited] 1 STORE 002 2 STORE 003 3 您的模式中需要更多的数据才能在时间上匹配出和入 试试这样简单的方法: SELECT * FROM #t AS a WHERE a.TransT

如何仅显示与“输入”相比对应位置具有最大“输入”数的项目(对不起,我的英语不好)


假设你只想要没有匹配输出的输入

LocationCode              ResourceId
STORE 001[edited]         1
STORE 002                 2
STORE 003                 3
您的模式中需要更多的数据才能在时间上匹配出和入

试试这样简单的方法:

SELECT *
FROM #t AS a
WHERE a.TransType = 'In'
    AND NOT EXISTS (
        SELECT *
        FROM #t AS b
        WHERE b.TransType = 'Out'
            AND b.LocationCode = a.LocationCode
            AND b.ResourceId = a.ResourceId
    )
下面是一个事务排序的示例,以及使用该顺序的两种方法:

SELECT LocationCode, ResourceID
FROM #t
GROUP BY LocationCode, ResourceID
HAVING COUNT(*) % 2 = 1

假设你只想要没有匹配输出的输入

LocationCode              ResourceId
STORE 001[edited]         1
STORE 002                 2
STORE 003                 3
您的模式中需要更多的数据才能在时间上匹配出和入

试试这样简单的方法:

SELECT *
FROM #t AS a
WHERE a.TransType = 'In'
    AND NOT EXISTS (
        SELECT *
        FROM #t AS b
        WHERE b.TransType = 'Out'
            AND b.LocationCode = a.LocationCode
            AND b.ResourceId = a.ResourceId
    )
下面是一个事务排序的示例,以及使用该顺序的两种方法:

SELECT LocationCode, ResourceID
FROM #t
GROUP BY LocationCode, ResourceID
HAVING COUNT(*) % 2 = 1

你所说的“最近的位置”是什么意思?换句话说,你能澄清一下你是如何得出预期结果集的吗?对不起,这是模棱两可的,我的错。我将编辑这个问题。谢谢。有个问题,可以重复吗?例如,“STORE 001”,1,“In”,这可能是因为它再次被接纳为一个资源。所谓“省略不需要的结果”,我的意思是“显示具有各自位置的项目,不管它们位于何处”。如问题中所述,ResourceId 1最初位于“STORE 1”,后来移动到“STORE 4”,最后再次发送回以前的位置“STORE 1”。在本例中,ResourceId 1位于“STORE 1”(这很重要)中。您所说的“最近的位置”是什么意思?换句话说,您能否澄清一下您是如何获得预期结果集的?对不起,这是不明确的,我的错。我将编辑这个问题。谢谢。有个问题,可以重复吗?例如,“STORE 001”,1,“In”,这可能是因为它再次被接纳为一个资源。所谓“省略不需要的结果”,我的意思是“显示具有各自位置的项目,不管它们位于何处”。如问题中所述,ResourceId 1最初位于“STORE 1”,后来移动到“STORE 4”,最后再次发送回以前的位置“STORE 1”。在本例中,resourceid1位于“store1”中(这很重要)。+1关于需要更多数据与In by timecade匹配的一点很好,谢谢您的回答。然而,这并不能解决问题。我正在编辑这个问题以使它更清楚。对不起,我的不好English@NickBinnet我在回答的末尾贴了一个简单一点的东西,假设一个项目只能位于一个条目数为奇数的位置(假设所有输出都有输入)。@Nick Binnet这样它就不会有输出了?为什么大多数人都是对的?如果它一次又一次地进入/退出/进入/退出1和2,然后进入3呢?那么3不是当前位置,但它的ins最少吗?@Nick Binnet我想补充一点,确实有一种方法可以精确地匹配事物(包括发现潜在的孤立问题),但您需要在数据中添加某种排序列,以便将事物连接到匹配项中。如果没有订购,Out可以匹配同一位置/资源上的任何In。+1关于需要更多数据来匹配In by TIME的一点很好谢谢cade的回答。然而,这并不能解决问题。我正在编辑这个问题以使它更清楚。对不起,我的不好English@NickBinnet我在回答的末尾贴了一个简单一点的东西,假设一个项目只能位于一个条目数为奇数的位置(假设所有输出都有输入)。@Nick Binnet这样它就不会有输出了?为什么大多数人都是对的?如果它一次又一次地进入/退出/进入/退出1和2,然后进入3呢?那么3不是当前位置,但它的ins最少吗?@Nick Binnet我想补充一点,确实有一种方法可以精确地匹配事物(包括发现潜在的孤立问题),但您需要在数据中添加某种排序列,以便将事物连接到匹配项中。如果没有订购,Out可以匹配同一位置/资源上的任何In。