Requete MySQL trop dure pour moi

Rouliendelavegas Messages postés 58 Date d'inscription vendredi 7 août 2009 Statut Membre Dernière intervention 7 janvier 2011 - 20 juil. 2007 à 11:49
rethenor Messages postés 48 Date d'inscription mercredi 11 juillet 2007 Statut Membre Dernière intervention 9 mai 2011 - 26 juil. 2007 à 13:46
Bonjour,


J'ai un petit problème pour savoir comment faire ce que je veux grace à MySQL:


Tout est dans l'image :






Alors j'ai essayé ça comme requete:

SELECT U.nom_usr,U.prenom_usr,U.datearrivee,I.id,I.id_usr,I.id_tache,I.statu,T.id,T.nom,T.com
FROM usr U,intervention I,tache T
WHERE U.id_usr = I.id_usr
AND T.id_tache = I.id_tache
AND U.datearrivee > ".$date."
ORDER BY U.datearrivee

Mais si je fais comme ça, si plusieurs intervention correspondent à un utilisateur, j'aurais autant de ligne qu'il y a d'intervention pour cet utilisateur, alors que je voudrais qu'il n'y ai qu'une ligne par usr avec le nombre de champ correspondant au nombre de tache pour celui-ci, comme dans l'exemple.

Je pensais au debut faire d'abbord une requete pour voir le nombre de tache le concernant, puis ensuite cheker leur status dans une boucle de selection des nouveau utilisateur, mais cela m'obligera a inserer une requete dans ma boucle...

Bref je suis sure qu'il existe une requete magique qui puisse faire ce que je souhaite
Merci

5 réponses

mimosa803 Messages postés 345 Date d'inscription jeudi 15 février 2007 Statut Membre Dernière intervention 24 avril 2010
20 juil. 2007 à 14:23
Salut je ve dire avec Mysql la notion de jointure n'existe pas
0
cs_putch Messages postés 624 Date d'inscription mardi 6 mai 2003 Statut Membre Dernière intervention 14 décembre 2009 1
20 juil. 2007 à 15:04
salut !

"Mysql la notion de jointure n'existe pas"
ah bon ... si tu as le lien dans la doc Mysql qui dit ca je le veux bien ...

sinon sur ta requete, nom et prenom ce sont bien des des Champs alors que café et email ce sont des enregistrements de ta table ... donc pas de requete possible qui realise l'affichage que tu souhaite.

ta requete semble bonne mais apres c'est au au niveau traitement que tu vas pouvoir réaliser ton "affichage"

++
0
mimosa803 Messages postés 345 Date d'inscription jeudi 15 février 2007 Statut Membre Dernière intervention 24 avril 2010
20 juil. 2007 à 15:11
oui la notion de jointure n'existe pa donc tu pe essayé.
Souvent on utlise l'envoie des variables pour faire la jointure.
0
cs_putch Messages postés 624 Date d'inscription mardi 6 mai 2003 Statut Membre Dernière intervention 14 décembre 2009 1
20 juil. 2007 à 15:49
hein ?!

on parle bien de rassembler les informations de plusieurs tables en 1 seule requetes non ?

cf : http://dev.mysql.com/doc/refman/5.0/fr/select.html
" La clause
FROM table_references
indique les tables à partir desquelles nous allons obtenir les enregistrements. Si vous indiquez le nom de plusieurs tables, vous faites une jointure. Pour davantage d'informations sur la syntaxe des jointures, consultez Section 13.1.7.1, « Syntaxe de
JOIN
 »
. Pour chaque table spécifiée, vous pouvez éventuellement indiquer un alias."

alors bien sur que la jointure est possible avec MySQL !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
rethenor Messages postés 48 Date d'inscription mercredi 11 juillet 2007 Statut Membre Dernière intervention 9 mai 2011
26 juil. 2007 à 13:46
Bonjour,


Je ne comprends pas bien la finalité et qui me paraît dangereuse.


Si j'ai bien compris, Les tâches sont stockées dans une table et les enregistrements de celles-ci font des lignes d'enregistrements. Forcément, puisque c'est une table, elle est appelée à évoluer et rien dans la description faite ne permet de penser qu'il est absolument impossible que la table "Taches" ne contienne un jour 569 enregistrements, 569 lignes.
Dans ce cas, peu probable mais possible, les 569 lignes devraient se retrouver dans 569 colonnes ???


Est-ce bien raisonnable et ergonomique pour l'affichage et la lecture et l'impression du tableau résultant ?


Ne vaudrait-il pas mieux organiser différemment la sortie avec des regroupements :



+---------------------------------------+
| TITI Jean (arrivée: 2007-07-19)       |
+-----------+---------------------------+
|           | Café : à faire            |
|           | Email : déjà fait         |
+-----------+---------------------------+
| CC Bill (arrivée: 2007-07-15)         |
+-----------+---------------------------+
|           | Café : à faire            |
|           | Email : à faire           |
|           | Photocopieuse : déjà fait |
|           | Courrier : à faire        |
+-----------+---------------------------+
| etc...
+--------


Il me semble plus facile de lire une page longue qu'une page large. Enfin ! Cette proposition ne correspond peut-être pas à une contrainte à laquelle doit se plier rouliendelavegas...
0
Rejoignez-nous