我想根据一个条件找出最高客户 - 无论他们是表中的memo
列的直接用户。如果备忘录包含文字如PAYROLL
,PAYRLL
,SALARY
和transaction_type = 'Credit'
,则它们被视为最大客户。因此,我写下面的查询:SQL通配符选择
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
我没有看到任何明显的通配符错误,但是我只能从给出的信息中说出这些。如果我们知道TRANSACTION_TYPE和MEMO的值与预期应该匹配但不是 –
@MarkAdelsberger这个计为0的人在备忘录下的transaction_type和'AMERICAN AIRLINE PAYRLL DEP'记录中具有'Credit'的记录可能有帮助 – YOBOX
'transaction_type'字段是否允许多余的空格?也许那个没有计算的实际上是“信用”? – elmer007