SQL通配符选择

时间:2016-12-16 16:11:07

标签: sql postgresql

我试图根据一个条件找出顶级客户 - 他们是memo表中transaction列的直接用户。如果备忘录包含PAYROLLPAYRLLSALARYtransaction_type = 'Credit'等字词,则会将其视为最佳客户。因此,我在下面写了一个查询:

SELECT user_id, 
   CASE WHEN transaction_type = 'Credit' AND 
                 (memo LIKE '%PAYROLL%' OR memo LIKE '%PAYRLL%' OR memo LIKE '%SALARY%') 
            THEN 1 ELSE 0 END AS TOP_USERS
FROM transaction

但是,我看到一个人应该是1,但在本专栏中仍然算作0。 我的外卡有什么问题吗? 我正在使用PostgreSQL pgadmin3

1 个答案:

答案 0 :(得分:0)

根据您的评论,该人员拥有' Credit'在transaction_type和' AMERICAN AIRLINE PAYRLL DEP'在备忘录"是那些相同的记录?是否有美国航空公司PAYRLL DEP'显示在同一记录中的备忘录中,其类型为' Credit'或者他们是单独的记录?如果它们是分开的,则将AND更改为OR将解决它。