在SQL表中,我有两个字段:CustomerID和TransactionType。 CustomerID是一个唯一的编号,可以在每次交易时重复。每笔交易都是'S'或'P'。
我想在SQL中选择具有'S'和'P'的不同customerID。因此,在上表中,我的预期返回值是100和102.我该怎么做?
答案 0 :(得分:2)
您可以使用聚合:
select customerid
from your_table
where transactionType in ('S', 'P')
group by customerid
having count(distinct transactionType) = 2;
如果事务类型只能是'S'或'P'(甚至不是null),则可能会丢失where子句。