根据子集的结果从整个表中选择记录

时间:2014-07-07 19:04:38

标签: sql-server

表有多列。我们来说一张销售发票。根据特定列中的值(不等于空白),我可以选择上个月调整的发票。当月发生的交易。现在我想查找每张发票的历史记录 - 我想要记录发票被触摸的所有时间(例如添加或删除一行或更改数量或价格等)。该表包含所有这些以前的事务。我想根据上个月的调整来确定交易历史。

我该如何撰写查询?

1 个答案:

答案 0 :(得分:0)

由于您提供的有关您的情况的实际信息非常少,我将假设您需要一种可以应用的技术,而不是真正的答案。所以这是技术:

SELECT I.* FROM InvoiceHistory AS I
    WHERE I.InvoiceID IN (
        SELECT InvoiceID FROM InvoiceHistory AS I2
           WHERE SomeField IS NOT NULL)