2016-05-08 3 views
-1

MySql запрос ниже:MySql Error :: Ошибка в синтаксисе SQL

SELECT Name, 
SUM(Balance) AS Balance, 
(IF (Balance<=0), abs(Balance), 0) AS Exc, 
(IF (Balance>=0), Balance, 0) AS Del 
from table1 group by name 

Mysql ошибка:

You have an error in your sql syntax; check manual that corresponds to your MySql server version for the right syntax to use near 
+0

Вы не можете комбинировать SUM (баланс) и баланс в запросе с группой по –

+0

Еще одна проблема с IF(). Проверьте [IF()] (http://dev.mysql.com/doc/refman/5.7/en/control-flow-functions.html#function_if) – BrainPicker

+0

"для правильного синтаксиса для использования рядом с * * что? * Почему вы оставили самую полезную часть сообщения об ошибке? – EJP

ответ

0

Вы можете использовать СЛУЧАЙ ... КОГДА conditinnal заявление как этот

SELECT Name, 
    SUM(Balance) AS Balance, 
    (CASE WHEN SUM(Balance)>=0 THEN SUM(Balance) WHEN SUM(Balance)<0 THEN SUM(Balance) * -1 END) AS Balance_Positive 
    from table1 group by name 
+0

Очень полезно Hacene, спасибо! – vivienne

+0

добро пожаловать –

0
SELECT Name, 
SUM(Balance) AS Balance, 
IF((SUM(Balance)<=0), abs(SUM(Balance)), 0) AS Exc, 
IF((SUM(Balance)>=0),SUM(Balance), 0) AS Del 
from table1 group by Name 
+0

этот работа. Спасибо! – vivienne

+0

@vivienne, тогда вы должны принять его как ответ. – Rao

Смежные вопросы