Gros soucis avec une requête sql
Fermé
Micky
-
3 nov. 2007 à 02:45
Posotaz Messages postés 489 Date d'inscription samedi 23 juin 2007 Statut Membre Dernière intervention 19 juin 2011 - 4 nov. 2007 à 18:56
Posotaz Messages postés 489 Date d'inscription samedi 23 juin 2007 Statut Membre Dernière intervention 19 juin 2011 - 4 nov. 2007 à 18:56
A voir également:
- Gros soucis avec une requête sql
- Blob sql ✓ - Forum Webmastering
- Sql (+) - Forum Programmation
- Requete http - Guide
- Requete sql commence par ✓ - Forum Webmastering
- Requete sql sans doublon - Astuces et Solutions
5 réponses
LEONELMESSI
Messages postés
564
Date d'inscription
samedi 12 mai 2007
Statut
Membre
Dernière intervention
27 janvier 2010
72
3 nov. 2007 à 02:49
3 nov. 2007 à 02:49
je n vais pas pouvoir regler ton probleme mais en revanche je voulais savoir si ton club n avais pas besoin d un joueur , en faite mon beau frere est basketeur professionnelle en rep dominicaine et il joue en premiere dans l equipe de saint domingue et dans l equipe national , j aimerais et surtout , aimerions qu il vienne en europe pour jouer au basket professionellement , est ce que tu aurais un contact ...?
J'aurais bien voulu t'aider Leo, mais mon club joue en départemental, et je doute que ca interesse ton beau frere.
Essaye donc de contacter les clubs de pro A et de pro B, on sait jamais.
Sinon je cherche toujours des réponses à mes questions.
En espérant trouver de l'aide, bye.
Essaye donc de contacter les clubs de pro A et de pro B, on sait jamais.
Sinon je cherche toujours des réponses à mes questions.
En espérant trouver de l'aide, bye.
Posotaz
Messages postés
489
Date d'inscription
samedi 23 juin 2007
Statut
Membre
Dernière intervention
19 juin 2011
226
3 nov. 2007 à 19:20
3 nov. 2007 à 19:20
Salut,
C'est beau le monde des bases de données temporelles :D
Question : Si `domicile` et `exterieur` sont des références vers les équipes, pourquoi ce n'est pas le cas dans ta structure ?
En principe ça ne doit pas être très compliqué en le faisant en plusieurs fois. Si `domicile` et `exterieur` contiennent le nom des équipes qui jouent, il faudrait une requête qui fasse un truc genre à :
Pour récupérer le dernier match joué pour une équipe donnée ça devrait ressembler à :
La première requête fonctionne sur le même principe en demandant toutes les dates futures (ou celle du jour) où l'équipe 'Senior A' est impliquée, en triant les dates par ordre croissant. Ainsi les premiers résultats seront les plus proches matchs en date.
Maintenant il faut vérifier la syntaxe et ma logique mais l'idée y est. Bon courage !
PS : Vive les ptits !!! (j'ai rien contre les grands basketteurs hein :D mais bon faudrait voir plus de ptits dans le monde du sport ^^)
C'est beau le monde des bases de données temporelles :D
Question : Si `domicile` et `exterieur` sont des références vers les équipes, pourquoi ce n'est pas le cas dans ta structure ?
En principe ça ne doit pas être très compliqué en le faisant en plusieurs fois. Si `domicile` et `exterieur` contiennent le nom des équipes qui jouent, il faudrait une requête qui fasse un truc genre à :
SELECT * FROM matchs WHERE (domicile = 'Seniors A' OR exterieur='Seniors A') AND date >= DATE() ORDER BY date ASCà répéter pour chaque équipe. Puis pour ne renvoyer que les deux suivants tu peux normalement utiliser LIMIT 2 ou gérer ça par programmation.
Pour récupérer le dernier match joué pour une équipe donnée ça devrait ressembler à :
SELECT * FROM matchs WHERE (domicile = 'Seniors A' OR exterieur='Seniors A') AND date < DATE() ORDER BY date DESCJe n'ai pas testé mais pour te donner un peu d'explications, cette requête sélectionne tous les matchs où l'équipe "Senior A" est impliquée et où la date est inférieure (donc antérieure) à celle actuelle, les triant par ordre décroissant. Ainsi le premier résultat renvoyé sera bien le dernier match en date.
La première requête fonctionne sur le même principe en demandant toutes les dates futures (ou celle du jour) où l'équipe 'Senior A' est impliquée, en triant les dates par ordre croissant. Ainsi les premiers résultats seront les plus proches matchs en date.
Maintenant il faut vérifier la syntaxe et ma logique mais l'idée y est. Bon courage !
PS : Vive les ptits !!! (j'ai rien contre les grands basketteurs hein :D mais bon faudrait voir plus de ptits dans le monde du sport ^^)
Salut Posotaz, et merci de te préoccuper de mon problème.
Tes requêtes ne sont pas mal , seulement il me faut plus de DYNAMISME.
Es ce qu'il est possible d'aller chercher les equipes dans la tables equipe, au lieu de les nommer une a une (dans la clause WHERE) ?
De plus je ne peut pas utiliser la clause limit comme tu me l'indique, en effet si je met (limit 0,2), ca ne me renvoit pas les 2 derniers matchs de chaque équipe, mais les 2 derniers matchs de toute la base matchs.
Merci encore, bye
Tes requêtes ne sont pas mal , seulement il me faut plus de DYNAMISME.
Es ce qu'il est possible d'aller chercher les equipes dans la tables equipe, au lieu de les nommer une a une (dans la clause WHERE) ?
De plus je ne peut pas utiliser la clause limit comme tu me l'indique, en effet si je met (limit 0,2), ca ne me renvoit pas les 2 derniers matchs de chaque équipe, mais les 2 derniers matchs de toute la base matchs.
Merci encore, bye
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Posotaz
Messages postés
489
Date d'inscription
samedi 23 juin 2007
Statut
Membre
Dernière intervention
19 juin 2011
226
4 nov. 2007 à 18:56
4 nov. 2007 à 18:56
Salut Micky,
J'ai parfois tendance à me rouiller un peu par moments mais plus de dynamisme me semble possible. Je te donne juste l'idée sans trop de conviction :
Sélectionne tous les matchs
où domicile ou exterieur contient une valeur de la liste
sélectionne 'nom' de la table 'equipes'
en les groupant par 'equipes'.nom'
La première partie se présente comme suit (tu vas récupérer tous les matchs où tes équipes Senior sont impliquées) :
SELECT *
FROM matchs
WHERE (domicile IN (SELECT nom FROM equipes) OR exterieur IN (SELECT nom FROM equipes))
AND date >= DATE()
ORDER BY date ASC
Mais pour le groupement je ne sais pas t'aider je n'ai jamais vraiment maîtrisé ça :-s En général je ne me tracasse jamais trop pour une requête SQL, quand je me trouve limité j'emploie la manière forte en gérant le reste par programmation (je sais c'est lâche :D).
Pour le comportement de la clause LIMIT je trouve ça louche... si ça fonctionne sans ça devrait fonctionner avec, étonnant. Enfin... bonne poursuite !
J'ai parfois tendance à me rouiller un peu par moments mais plus de dynamisme me semble possible. Je te donne juste l'idée sans trop de conviction :
Sélectionne tous les matchs
où domicile ou exterieur contient une valeur de la liste
sélectionne 'nom' de la table 'equipes'
en les groupant par 'equipes'.nom'
La première partie se présente comme suit (tu vas récupérer tous les matchs où tes équipes Senior sont impliquées) :
SELECT *
FROM matchs
WHERE (domicile IN (SELECT nom FROM equipes) OR exterieur IN (SELECT nom FROM equipes))
AND date >= DATE()
ORDER BY date ASC
Mais pour le groupement je ne sais pas t'aider je n'ai jamais vraiment maîtrisé ça :-s En général je ne me tracasse jamais trop pour une requête SQL, quand je me trouve limité j'emploie la manière forte en gérant le reste par programmation (je sais c'est lâche :D).
Pour le comportement de la clause LIMIT je trouve ça louche... si ça fonctionne sans ça devrait fonctionner avec, étonnant. Enfin... bonne poursuite !