对于所有记录,Sql返回记录组直到bit为真

时间:2016-09-04 19:23:05

标签: sql sql-server

我有一组记录随着时间​​的推移而更新,我希望它们返回,直到所有记录都有一列,一列为真。

模式

| ID | BatchID | Value | SampleCompleted |
|  1 |  4444   | 3     |       1         |
|  2 |  4444   | 5     |       1         |
|  3 |  4444   | 20    |       1         |
|  4 |  4444   | 50    |       1         |
|  5 |  4444   | NULL  |     NULL        |

因此,在上面的示例中,我想返回所有返回的记录,直到记录5已更新且SampleCompleted位为1.所有分组的记录将具有相同的批次ID。我知道这可能很简单,但我很难搞清楚逻辑。

1 个答案:

答案 0 :(得分:2)

这是一种方法:

SELECT * FROM MyTable
WHERE BatchID IN
(
    SELECT BatchID FROM MyTable
    WHERE SampleCompleted IS NULL
)