SQL - 如何检查FIELD A是否在FIELD B中具有所有3个特定值?

时间:2015-02-25 15:46:13

标签: sql

我的表"行动"具有以下字段:(唯一)id,transactionNumber(varchar)和status(varchar)。

状态可以等于'新','已开始'更新','错误','已完成& #39;

我需要一个只会返回具有全部3种状态的事务编号(来自我的表格"操作")的查询('新','已启动', '已完成')在不同的行中。我们不需要担心更新'或者'错误'。

我需要这个,因为transactionNumber不能缺少这3个状态中的一个。

非常感谢您提前

1 个答案:

答案 0 :(得分:1)

您可以COUNT使用DISTINCT

来实现此目的
SELECT TransactionNumber 
FROM Actions
WHERE Status IN('New', 'Started', 'Completed')
GROUP BY TransactionNumber
HAVING COUNT(DISTINCT Status) = 3