我有一张包含大量信息的表格。我希望找到一个不重复的客户数量,有1或2次付款。这是基本结构:
ClientID PmtLn PaymentNum vNum
1 1 15 1234
1 2 -15 1234
2 1 25 3456
2 1 30 8583
3 1 50 9992
3 1 74 1230
4 1 15 3345
此表中的每个客户都收到了某种付款方式。 ClientID = 1 - 例如收到15的付款,但随后在PmtLn = 2中,该付款被否定,因此它是0,它不算数。 另外两个客户只有正面付款,所以我希望能够找到只有1或2笔付款(但不重复)的非重复客户的数量
所以我的最终结果如下:
2 payments
ClientID
2
3
1 payment
ClientID
4
客户2& 3有2笔付款,已经完成。客户4只有1付款,因此只应在1付款结果中显示。客户1 - 有2笔付款 - 但其中一笔是正数,一条是负数,因此它是0,不应该被发现。任何帮助表示赞赏。
答案 0 :(得分:1)
如果我理解正确:
select clientid
from t
group by clientid
having sum(case when payment > 0 then 1 else 0 end) = 2 and
count(*) = 2;