1. ホーム

Mysql がエラーを報告 オペランドには 1 つのカラムが含まれている必要があります。

2022-01-24 11:09:59
<パス

オペランドは1列でなければなりません。

オリジナルのコードです。

  select
   strategy_id,
   sum( case when ( action = 'password_strategy_bind','add_password' ) THEN 1 ELSE 0 END ) 'bind',
   sum( case when ( action = 'unbind password strategy', 'delete password' ) THEN 1 ELSE 0 END ) 'unbind'
   from audit
   where strategy_id IS NOT NULL


修正後

select
	           strategy_id,
	           sum( case when ( action in ('password_strategy_bind','add_password' )) THEN 1 ELSE 0 END ) 'bind',
	           sum( case when ( action in ('password_strategy_unbind', 'delete_password' )) THEN 1 ELSE 0 END ) 'unbind'
               from audit
               where strategy_id IS NOT NULL


= の後に複数の条件を続けることはできないので、以下のように使用します。