检查多行的值

时间:2014-08-27 19:02:43

标签: sql sql-server-2008 tsql

我需要在表格的多行中检查列IsSubmitted以获取某个用户ID。

如果任何行提交了1,则返回0,否则返回另一个值。

如果返回多行,如何检查此查询的结果以查看是否有任何行为IsSubmitted?

SELECT IsSubmitted FROM [Application] WHERE ID = @id

示例此查询可能会返回

IsSubmitted
    0
    0
    0
    1
    0


    or  

    0
    0
    0
    0

它可以是任意数量的行或仅一行。我需要知道他们中的任何一个是否包含1.我们有一个应用程序,他们只需要支付一次,他们可以提交任意数量的应用程序,所以我需要检查并查看他们是否已经付款(已提交)

如果他们已提交,那么我需要采取一个行动,如果他们没有,那么我需要采取另一个行动。

1 个答案:

答案 0 :(得分:1)

SELECT CASE
  WHEN EXISTS(SELECT * FROM Application WHERE ID=@id AND IsSubmitted=1) THEN 0
  ELSE 1  --or some other value
END

如果需要,可以将其插入到更大的查询的上下文中。