Bonjour,
Sans doute un problème tout simple, mais je n'y arrive pas. Je travaille sur une application Web qui gère des championnats d'un sport collectif.
Les utilisateurs ont demandé une petite évolution : pouvoir sélectionner une journée précise à partir d'une liste déroulante (balises <select> et <option>).
L'idée est donc de récupérer les numéros de journée en base. Je dispose de la table SQL suivante :
Pour récupérer des rencontres sur une journée désignée, voici ce que je fais sous Hibernate :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 +--------------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------------+---------+------+-----+---------+-------+ | OID | int(11) | NO | PRI | NULL | | | OID_PERSONNE | int(11) | YES | MUL | NULL | | | OID_EQUIPE_R | int(11) | YES | MUL | NULL | | | OID_EQUIPE_V | int(11) | YES | MUL | NULL | | | JOURNEE | int(11) | YES | | NULL | | | SCORE_R | int(11) | YES | | 0 | | | SCORE_V | int(11) | YES | | 0 | | | DATE_MATCH | date | NO | | NULL | | +--------------+---------+------+-----+---------+-------+
Ma question : en partant de ce code, existe un moyen simple de récupérer la liste de toutes les valeurs JOURNEE de la table RENCONTRE, sachant qu'il faut employer la contrainte DISTINCT ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 public static ArrayList<Rencontre> lireRencontres(int numJournee) { if (numJournee == Constantes.UNDEFINED_INT) return null; List<Rencontre> listeR; Criteria c = session.createCriteria(Rencontre.class); c.add(Restrictions.eq("journee", numJournee)); listeR = c.list(); if (listeR == null) return null; ArrayList<Rencontre> uneListe = new ArrayList<Rencontre>(); Iterator<Rencontre> it = listeR.iterator(); while(it.hasNext()) { Rencontre r = it.next(); r.chargerLabels(); } return uneListe; }
En SQL simple, cela donnerait :
Merci par avance de votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT DISTINCT(JOURNEE) FROM RENCONTRE;
Partager