transaction
テーブルのmemo
列で直接的なユーザーであるかどうか、1つの条件に基づいてトップの顧客を特定しようとしています。メモに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に「Credit」のレコードがあり、メモの下に「AMERICAN AIRLINE PAYRLL DEP」があります – YOBOX
'transaction_type'フィールドは余分な空白を許しますか?おそらくカウントされなかったのは実際には「クレジット」でしょうか? – elmer007