У меня есть этот запрос
$totalrevenue = DB::table("vw_revenue_report")
->select(DB::raw("SUM(amount) as total"))
->get();
Но я хочу использовать оператор Select Case или If. Что я хочу, так это то, что при попытке выполнить суммирование, если канал (поле) равен 9mobile, он должен делить сумму на 100. В противном случае он должен просто составлять сумму.
$totalrevenue = DB::table("vw_revenue_report")
->select(DB::raw("SUM((CASE WHEN (channel = '9mobile') THEN 'amount*1/100' ELSE 'amount' END) as total"))
->get();
Я получил ошибку, показанную ниже:
"SQLSTATE [42000]: синтаксическая ошибка или нарушение прав доступа: 1064 У вас есть ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MariaDB, чтобы найти правильный синтаксис, близкий к 'как общее от vw_revenue_report
' в строке 1 (SQL: выберите SUM ((CASE WHEN (канал = '9mobile') THEN 'количество * 1/100' ELSE 'количество' END) как общее значение от vw_revenue_report
)
Как мне решить эту проблему?