Síntaxe do Sub-Select está correto?

1 resposta
V

To tentando executar o código da Java Magazine desse mês sobre JPA, mas deu esse erro… tá popularizando a tabela e tal, mas quando vai dá a consulta abaixo ele retorna erro, joguei dentro do meu mySql-front, para rodar direto a consulta e quando faço sub-select dá erro
[color=“red”]
SELECT t0.CD_RESERVA, t0.DT_FIM, t0.DT_INICIO, t0.DS_PLACA, t0.CD_CLIENTE FROM RESERVA t0 WHERE t0.CD_RESERVA = (SELECT MAX(t1.CD_RESERVA) FROM RESERVA t1)[/color]

Esse sub-select acima está correto???
O erro completo segue abaixo.

[TopLink Warning]: 2006.10.16 01:56:20.351--UnitOfWork(2804837)--Exception [TOPLINK-4002] (Oracle TopLink Essentials - 2006.8 (Build 060908)): oracle.toplink.essentials.exceptions.DatabaseException Internal Exception: java.sql.SQLException: 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 'SELECT MAX(t1.CD_RESERVA) FROM RESERVA t1))' at line 1Error Code: 1064 Call:SELECT t0.CD_RESERVA, t0.DT_FIM, t0.DT_INICIO, t0.DS_PLACA, t0.CD_CLIENTE FROM RESERVA t0 WHERE (t0.CD_RESERVA = (SELECT MAX(t1.CD_RESERVA) FROM RESERVA t1)) Query:ReportQuery(br.com.jm.locadora.model.Reserva) Local Exception Stack: Exception [TOPLINK-4002] (Oracle TopLink Essentials - 2006.8 (Build 060908)): oracle.toplink.essentials.exceptions.DatabaseException Internal Exception: java.sql.SQLException: 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 'SELECT MAX(t1.CD_RESERVA) FROM RESERVA t1))' at line 1Error Code: 1064 Call:SELECT t0.CD_RESERVA, t0.DT_FIM, t0.DT_INICIO, t0.DS_PLACA, t0.CD_CLIENTE FROM RESERVA t0 WHERE (t0.CD_RESERVA = (SELECT MAX(t1.CD_RESERVA) FROM RESERVA t1)) Query:ReportQuery(br.com.jm.locadora.model.Reserva) at oracle.toplink.essentials.exceptions.DatabaseException.sqlException(DatabaseException.java:303) at oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:551) at oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:437) at oracle.toplink.essentials.threetier.ServerSession.executeCall(ServerSession.java:465) at oracle.toplink.essentials.internal.queryframework.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:213) at oracle.toplink.essentials.internal.queryframework.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:199) at oracle.toplink.essentials.internal.queryframework.DatasourceCallQueryMechanism.executeSelectCall(DatasourceCallQueryMechanism.java:270) at oracle.toplink.essentials.internal.queryframework.DatasourceCallQueryMechanism.selectAllRows(DatasourceCallQueryMechanism.java:600) at oracle.toplink.essentials.internal.queryframework.ExpressionQueryMechanism.selectAllRowsFromTable(ExpressionQueryMechanism.java:2115) at oracle.toplink.essentials.internal.queryframework.ExpressionQueryMechanism.selectAllReportQueryRows(ExpressionQueryMechanism.java:2081) at oracle.toplink.essentials.queryframework.ReportQuery.executeDatabaseQuery(ReportQuery.java:774) at oracle.toplink.essentials.queryframework.DatabaseQuery.execute(DatabaseQuery.java:609) at oracle.toplink.essentials.queryframework.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:677) at oracle.toplink.essentials.queryframework.ObjectLevelReadQuery.executeInUnitOfWork(ObjectLevelReadQuery.java:731) at oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2218) at oracle.toplink.essentials.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:937) at oracle.toplink.essentials.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:909) at oracle.toplink.essentials.internal.ejb.cmp3.base.EJBQueryImpl.executeReadQuery(EJBQueryImpl.java:346) at oracle.toplink.essentials.internal.ejb.cmp3.base.EJBQueryImpl.getSingleResult(EJBQueryImpl.java:471) at br.com.jm.locadora.LocadoraController.reservarVeiculo(LocadoraController.java:114) at br.com.jm.locadora.LocadoraController.teste(LocadoraController.java:39) at br.com.jm.locadora.Principal.main(Principal.java:8)

1 Resposta

M

Opa,

qual é a versao do seu mysql… porque se eu não sem engano sub-select só apartir da versão 5.0.

:okok:

Criado 16 de outubro de 2006
Ultima resposta 16 de out. de 2006
Respostas 1
Participantes 2