Fonction select ne fonctionne pas
mozhar
-
mozhar -
mozhar -
voila ma requete qui me donne le message suivant"
Caused by: java.lang.IllegalArgumentException: An exception occurred while creating a query in EntityManager:
Exception Description: Syntax error parsing the query [SELECT c FROM Compte WHERE c.debut <= :mois AND c.fin = :mois ], line 1, column 21: syntax error at [WHERE].
Internal Exception: UnwantedTokenException(found=WHERE, expected 80)
la fonction est
public List<Compte> getComptesSansSolde(Date date) {
return em.createQuery("SELECT c "
+ "FROM Compte "
+ "WHERE c.debut <= :mois "
+ "AND c.fin >= :mois "
+ "AND ( NOT c IN " //il faut voir si not c in or c not in
+ "(SELECT b.compte \n "
+ "FROM Solde b \n "
+ "WHERE b.mois = :mois)) ")
.setParameter("mois", date)
.getResultList();
}
Caused by: java.lang.IllegalArgumentException: An exception occurred while creating a query in EntityManager:
Exception Description: Syntax error parsing the query [SELECT c FROM Compte WHERE c.debut <= :mois AND c.fin = :mois ], line 1, column 21: syntax error at [WHERE].
Internal Exception: UnwantedTokenException(found=WHERE, expected 80)
la fonction est
public List<Compte> getComptesSansSolde(Date date) {
return em.createQuery("SELECT c "
+ "FROM Compte "
+ "WHERE c.debut <= :mois "
+ "AND c.fin >= :mois "
+ "AND ( NOT c IN " //il faut voir si not c in or c not in
+ "(SELECT b.compte \n "
+ "FROM Solde b \n "
+ "WHERE b.mois = :mois)) ")
.setParameter("mois", date)
.getResultList();
}
A voir également:
- Fonction select ne fonctionne pas
- Fonction si et - Guide
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
- Please select boot device - Forum Windows
- Excel remplir automatiquement une cellule en fonction d'une autre ✓ - Forum Excel
Il y a plusieurs erreurs dans ta requête et il faut toutes les corriger les unes après les autres.
Là en l'occurrence je pense que c'est les \n qu'il n'aime pas.
Et pour répondre à ton commentaire, ce sera NOT IN, sauf que ça ne pourra pas s'appliquer à "c" tout entier, mais uniquement à un champ de "c", peut-être "c.id" ou quelque chose comme ça.
De plus j'ai de gros doutes sur ton SELECT FROM Solde, je ne vois pas pourquoi tu aurais une table Solde, pour moi ce serai un attribut de Compte.
Si tu n'arrives pas à t'en sortir donnes le détail de tes classes Compte, Solde, et des relations (OneToMany, etc) que tu as entre ces deux classes.
ma classe Compte :
1 - debut (date)
2 - fin(date)
ma classe Solde:
1 -solde(BigDecimal)
2 - @JoinColumn(name = "compte", referencedColumnName = "ref")
@ManyToOne
private Compte compte;
3-mois(date)
ma question faire la requete qui ma donne une liste de comptes qu'ils n'ont pas des soldes saisies pendant une date d (mois) sachant que la date d doit etre apres le la date (debut) et avant la date (fin) merci pour votre aide