jointure ou pas?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : jointure ou pas?

Re: jointure ou pas?

par yann18 » 16 févr. 2013, 02:04

Merci pour ta réponse je vais essayé d'être plus clair ;)

Voici un exemple simplifié de ce que le veux faire

J'ai deux tables :

joueurs

nom journee buts passes

Martin 1 1 2
Martin 4 2 3

club_de_Martin

journee resultat

1 2 - 1
2 0 - 0
3 1 - 3
4 2 - 0

J'aimerais afficher les buts et les passes de Martin lorsqu'il joue les matchs 1 et 4 et afficher "n'a pas joué" pour les journées 2 et 3. En résumé ça donnerai ça :

joueur journee buts passes
Martin 1 1 2
Martin 2 n'a pas joué
Martin 3 n'a pas joué
Martin 4 2 3


Merci de ton aide
Ta conception est à revoir et elle pose problème:
- à partir du moment où on a plusieurs journées et que la donnée journée n'est pas propre au joueur implique que journée ne peut pas être un atrribut(un champ) de la table joueur. Ce cas de figure entraînerait une redondance de données(car Martin sera inséré ,dans la table joueur, autant de fois qu'on a des journées). Pour les mêmes raisons buts, passes ne peuvent être des champs de la table joueur.

Le modèle proposé par #moogli colle parfaitement à ton besoin. Dans son modèle tu ajouter dans la table associative participationjournee les champs suivants : passes, but, date.

Re: jointure ou pas?

par Vincent898569 » 16 févr. 2013, 00:32

Merci pour ta réponse je vais essayé d'être plus clair ;)

Voici un exemple simplifié de ce que le veux faire

J'ai deux tables :

joueurs

nom journee buts passes

Martin 1 1 2
Martin 4 2 3

club_de_Martin

journee resultat

1 2 - 1
2 0 - 0
3 1 - 3
4 2 - 0

J'aimerais afficher les buts et les passes de Martin lorsqu'il joue les matchs 1 et 4 et afficher "n'a pas joué" pour les journées 2 et 3. En résumé ça donnerai ça :

joueur journee buts passes
Martin 1 1 2
Martin 2 n'a pas joué
Martin 3 n'a pas joué
Martin 4 2 3


Merci de ton aide

Re: jointure ou pas?

par moogli » 14 févr. 2013, 23:43

salut,


c'est pas clair ton affaire :)

un beau mcd serait plus clair.

mais en gros
si
create table joueurs (
idjoueur int not null primary key,
nom varchar() not null
)

create table journee (
idjournee int not null primary key
description varchar() not null
)
create table participationjournee(
idjournee int not null,
idjoueur int not null, 
foreign key idjournee references journee(idjournee),
foreign key idjoueur references joueurs(idjoueur)
)
alors oui une jointure te permet d'avoir ce que tu veux (double jointure dans mon exemple).

si tu nous donne plus d'infos et une question claire, on pourra t'aider plus.

@+

jointure ou pas?

par Vincent898569 » 14 févr. 2013, 17:53

Bonjour à tous,

je sollicite votre aide pour un problème que j’essaie de résoudre depuis plusieurs jours.

En fait le but est de récupérer toutes les valeurs présentes dans une colonne de la table A (qui vont forcement se suivre : 1,2,3... il s'agit des journées d'un championnat) et de récupérer également les valeurs d'une colonne de la table B (qui correspond aux journées jouées par un joueur).

ex : Si le joueur à joué la journée 1, afficher " à joué"

S'il n'a pas joué la journée 2 et qu'elle existe bien dans la table A, afficher "n'a pas joué"

J'ai simplifié pour mieux comprendre. J'ai d'abord créé une jointure entre les 2 tables et utilisé IF ELSE pour que quand A=B ça m'affiche "à joué" mais le problème est que la valeur de A changée (1,2,3 ...) mais B restait toujours à 1. Je sais pas comment faire.

J'espère être clair.

Merci de votre aide


Vincent