My query running perfect in workbanch but not working with Java sending exception that MySQL syntax error:
Set @total=0;
SET @amountDue=0;
SELECT (l.paid_date),c.customer_name,IF(@total=0,(SELECT total_amount FROM
payment_loan WHERE loan_id=99)-(SELECT (installment_amount_month) FROM
payment_loan WHERE loan_id=99)*(SELECT (total_installments)
FROM payment_loan
WHERE loan_id=99),
(SELECT (installment_amount_month) FROM payment_loan WHERE
loan_id=99))AS AmountDue,
@amountDue:=@amountDue+(SELECT IF(@total=0,(SELECT (total_amount)
FROM payment_loan WHERE loan_id=99)-(SELECT (installment_amount_month) FROM payment_loan
WHERE loan_id=99)*(SELECT (total_installments) FROM payment_loan
WHERE loan_id=99),(SELECT (installment_amount_month) FROM
payment_loan WHERE loan_id=99))) as ComulativeDue,
l.amount AS AmountPaid, @total := @total +l.amount AS comulativePaid,
(@total/@amountDue ) as percentage FROM payments_details l Join
customer c on (c.customer_id=l.customer_id) WHERE l.customer_id=115
GROUP BY l.paid_date ORDER BY l.paid_date DESC LIMIT 1 ;
and my java code is:
PreparedStatement stmt = (PreparedStatement) connection.Connect.con.prepareStatement(query);
rs = stmt.executeQuery();
while (rs.next()) {
cName = rs.getString(2);
amountDue = rs.getInt(3);
}
Error:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET @amountDue=0; SELECT (l.paid_date),c.customer_name,IF(@total=0,(SELECT total' at line 2