SQL语句在Workbench中工作,但在Java中不起作用

时间:2013-08-01 11:22:08

标签: java mysql eclipse jdbc mysql-workbench

下面的SQL语句适用于mySQL Workbench,但是当我在Eclipse中执行它时,会出现mySQL异常错误。 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 'by schedule.id' at line 1

String sqlStr = "select movie_db.movie , schedule.date , schedule.timeslot "
                        + ", schedule.seats as NoSeats,"
                        + " a.bookingsMade, if ( (schedule.seats-a.bookingsMade) is null, schedule.seats,(schedule.seats-a.bookingsMade) ) as availSeats"
                        + " ,schedule.movie_id, schedule.id as scID"
                        + " from schedule"
                        + " left outer join movie_db on ( movie_db.id=schedule.movie_id )"
                        + " left outer join ("
                        + " select count(*) as bookingsMade, tickets.movie_id as aid from tickets"
                        + " group by schedule_id"
                        + " ) as a on (schedule.id=a.aid)"
                        + " where schedule.movie_id=?"
                        + "group by schedule.id";

PreparedStatement pstmt = sqlConnect.getPreparedStatement(sqlStr);
pstmt.setInt(1, Integer.parseInt(movieId));

ResultSet rs = pstmt.executeQuery();

1 个答案:

答案 0 :(得分:2)

无效:

where schedule.movie_id=?"
                        + "group by schedule.id";

将其更改为

where schedule.movie_id=?"
                    + " group by schedule.id";