Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 7 sur 7
  1. #1
    Invité de passage
    Homme Profil pro
    Étudiant
    Inscrit en
    décembre 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : décembre 2012
    Messages : 6
    Points : 0
    Points
    0

    Par défaut Classement des équipes

    bonjour,
    comment faire pour que le classement des équipes contienne seulement les matchs joués (terminés)
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    SELECT equipe ,
    SUM(matchs_joues)AS matchs_joues,
    SUM(matchs_gagnes)AS matchs_gagnes,
    SUM(matchs_nuls)AS matchs_nuls,
    SUM(matchs_perdus)AS matchs_perdus,
    SUM(goals_for)AS goals_for,
    SUM(goals_against)AS goals_against,
    SUM(diff)AS  diff ,
    SUM(t.points) AS points FROM   
    (  
    SELECT  home_team AS equipe,
    	SUM(CASE 
       WHEN sc1=' ' THEN 0 ELSE 1
     	END) AS matchs_joues, 
      	SUM(CASE 
       WHEN sc1 > sc2 THEN 1 ELSE 0 
     	END) AS matchs_gagnes, 
     	SUM(CASE 
       WHEN sc1=' ' OR sc2=' '  THEN 0 ELSE 1 
     	END) AS matchs_nuls, 
     	SUM(CASE 
       WHEN sc1 < sc2 THEN 1 ELSE 0 
     	END) AS matchs_perdus 	,
     SUM (CASE  
     when sc1=' ' then ' '
     WHEN sc1 > sc2 THEN 3 
     WHEN sc1 = sc2 THEN 1 
     WHEN sc1 < sc2 THEN 0 
     END) points,
     SUM (sc1 - sc2) AS diff ,
     SUM(sc1)AS goals_for,
     SUM(sc2)AS goals_against
     
    FROM MATCH2 
    WHERE nom_pays=13
    GROUP BY home_team 
     
    UNION 
     
    SELECT   away_team  AS equipe,
    	SUM(CASE 
       WHEN sc2=' ' THEN 0 ELSE 1 
     	END) AS matchs_joues, 
     	  	SUM(CASE 
       WHEN sc2 > sc1 THEN 1 ELSE 0 
     	END) AS matchs_gagnes, 
     	SUM(CASE 
       WHEN sc2=' ' OR sc1=' '  THEN 0 ELSE 1 
     	END) AS matchs_nuls, 
     	SUM(CASE 
       WHEN sc2 < sc1 THEN 1 ELSE 0 
     	END) AS matchs_perdus 	,
     SUM (CASE  
     when sc2=' ' then ' '
     WHEN sc2> sc1 THEN 3 
     WHEN sc2= sc1  THEN 1 
     WHEN sc2 < sc1 THEN 0 
     END) points,
    SUM (sc2 - sc1) AS diff ,
    SUM(sc2)AS goals_for,
    SUM(sc1)AS goals_against
    FROM MATCH2
    WHERE nom_pays=13
    GROUP BY away_team
    ) t  
    GROUP BY equipe   
    ORDER BY points DESC, diff DESC

  2. #2
    Expert Confirmé Sénior
    Homme Profil pro
    Développeur Freelance
    Inscrit en
    janvier 2009
    Messages
    2 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Freelance

    Informations forums :
    Inscription : janvier 2009
    Messages : 2 252
    Points : 4 077
    Points
    4 077

    Par défaut

    Bonjour,
    Qu'est-ce qui permet de savoir qu'un match est terminé ?

    Tatayo.

  3. #3
    Invité de passage
    Homme Profil pro
    Étudiant
    Inscrit en
    décembre 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : décembre 2012
    Messages : 6
    Points : 0
    Points
    0

    Par défaut

    pour savoir si le match est terminé ou non, j'ai oublié d'ajouter dans la table match la date et le temps
    c'est a dire quand le match terminé automatiquement les résultats ajouter au classement sinon le classement reste vide
    voila la base de données
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    CREATE DATABASE sport
    USE sport
    CREATE TABLE continent(
    id int PRIMARY KEY identity ,
    nom_content varchar(50)
    )
    CREATE TABLE pays2 (
    id_pays int  PRIMARY KEY identity,
    nom_pays varchar (50),
    id_con int,
    constraint id_con1 FOREIGN KEY (id_con) REFERENCES content(id)
    )
    CREATE TABLE team (
    id_team int identity PRIMARY KEY  ,
    nom_team varchar(50),
    id_pa int, 
    constraint id_p2 FOREIGN KEY (id_pa) REFERENCES pays2(id_pays)
    )
    CREATE TABLE  match2(
    id_match int PRIMARY KEY identity ,
    home_team varchar(50),
    sc1 int  NULL DEFAULT '-',
    sc2 int  NULL DEFAULT  '-',
    away_team varchar(50),
    nom_pays varchar(20),
    )

  4. #4
    Expert Confirmé Sénior
    Homme Profil pro
    Développeur Freelance
    Inscrit en
    janvier 2009
    Messages
    2 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Freelance

    Informations forums :
    Inscription : janvier 2009
    Messages : 2 252
    Points : 4 077
    Points
    4 077

    Par défaut

    Ma question portait sur les tables de ta base.
    Quel critère sur quelle(s) rubrique(s) de quelle(s) table(s) permet de savoir qu'un match est terminé ?
    Dit autrement: quelle requête te permettrait d'avoir les matchs terminés ?

    Tatayo.

  5. #5
    Invité de passage
    Homme Profil pro
    Étudiant
    Inscrit en
    décembre 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : décembre 2012
    Messages : 6
    Points : 0
    Points
    0

    Par défaut

    si le temps de début de match est +90'min, le match est terminé avec résultats
    vide si aucun résultat n'a été ajouté

  6. #6
    Expert Confirmé Sénior
    Homme Profil pro
    Développeur Freelance
    Inscrit en
    janvier 2009
    Messages
    2 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Freelance

    Informations forums :
    Inscription : janvier 2009
    Messages : 2 252
    Points : 4 077
    Points
    4 077

    Par défaut

    Donc tu considères qu'un match commencé depuis 90 minutes est terminé ?
    Quid des prolongations, mi-temps et autre ?

    Tatayo.

  7. #7
    Invité de passage
    Homme Profil pro
    Étudiant
    Inscrit en
    décembre 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : décembre 2012
    Messages : 6
    Points : 0
    Points
    0

    Par défaut

    oui, tu as raison pour cette question.
    donc le match va commencer 1 période après 45 minutes la mi-temps et il y a 15 minutes de pause et enfin il y a 45 minutes de la deuxième période et après le match est terminé donc il y a 105 minutes sans calculer les temps supplémentaires. Les résultats ajoutent automatiquement au classement

    mais le problème, j'essaye de faire cette requête mais ça ne marche pas
    comment faire la comparaison entre l'heure de début du match et l'heure du système ?

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •