2016-05-08 17 views
-1

のMySQLのクエリ:MySQLエラー:: 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()には別の問題があります。 「* what?*」の近くで使用する正しい構文については、[IF()](http://dev.mysql.com/doc/refman/5.7/en/control-flow-functions.html#function_if) – BrainPicker

+0

を参照してください。なぜあなたはエラーメッセージの最も有用な部分を省いたのですか? – EJP

答えて

0

この

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

非常に参考になりました。 – vivienne

+0

あなたは歓迎です –

0
ようconditinnal声明あなたは... CASEを使用することができます
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