質問: 'select'ステートメントの 'if' - 列値に基づいて出力値を選択します select id, amount from report report.type='p'の場合はamount、-amountの場合はreport.type='n'にするにはamountが必要です。これを上記のクエリに追加するにはどうすればよいですか。
回答: 最も簡単な方法は if() を使うことです。はいmysqlはあなたが条件付き論理をすることを可能にします。 if関数は3つのパラメータをとります。条件、true outcome、false outcome。だから論理はif report.type = 'p' amount = amount else amount = -1*amount _ sql _ select id, if(report.type = 'p', abs(amount), -1*abs(amount)) as amount from report すべてのnoが+ veのみの場合は、abs()をスキップすることができます。