Requête SQL rebelle !!!

Micky -  
majdoulin Messages postés 106 Statut Membre -
Bonjour à toi collègue internaute, et merci de ton attention

Je suis en train de développer un site web pour un club de basket, et j'ai un soucis avec deux requete sql.
Voici les 2 tables nécessaires à leur éxecution :

LA TABLE EQUIPES
CREATE TABLE `equipes` (
`id` int(11) NOT NULL auto_increment,
`nom` text NOT NULL,
PRIMARY KEY (`id`)
);

INSERT INTO `equipes` VALUES (1, 'Seniors A');
INSERT INTO `equipes` VALUES (2, 'Seniors B');
INSERT INTO `equipes` VALUES (3, 'Seniors F');

LA TABLE MATCHS
CREATE TABLE `matchs` (
`id` int(11) NOT NULL auto_increment,
`date` date default NULL,
`heure` text NOT NULL,
`domicile` text NOT NULL,
`exterieur` text NOT NULL,
PRIMARY KEY (`id`)
) ;

INSERT INTO `matchs` VALUES (24, '2007-10-27', '20h30', 'La madeleine 2', 'Seniors A'');
INSERT INTO `matchs` VALUES (23, '2007-10-20', '20h30', 'Seniors A', 'Mamers'');
INSERT INTO `matchs` VALUES (22, '2007-10-13', '16h', 'Joue labbé', 'Seniors A');
INSERT INTO `matchs` VALUES (21, '2007-10-06', '15h30', 'Sablé 2', 'Seniors A');
INSERT INTO `matchs` VALUES (7, '2007-10-06', '20h', 'Seniors B', 'Conlie 1');
INSERT INTO `matchs` VALUES (8, '2007-10-13', '20h30', 'Seniors B');
INSERT INTO `matchs` VALUES (9, '2007-10-27', '20h30', 'Seniors B', 'Champagne 2');
INSERT INTO `matchs` VALUES (10, '2007-11-11', '14h', 'Seniors B', 'Ecomoy 2');
INSERT INTO `matchs` VALUES (11, '2007-11-17', '20h', 'Rouillon 1', 'Seniors B');
INSERT INTO `matchs` VALUES (13, '2007-10-13', '20h', 'Seniors F', 'Fresnay');
INSERT INTO `matchs` VALUES (14, '2007-11-20', '20h', 'Marollais', 'Seniors F');
INSERT INTO `matchs` VALUES (15, '2007-10-27', '20h', 'Céran Yvré', 'Seniors F');

1) Ce qu'il me faudrait, c'est une requête qui selectionne les 2 prochains matchs de chaque équipe.
Celle-ci devra donc me renvoyer les 2 matchs à venir pour les Seniors A, les Seniors B et le Seniors F (que ce soit des matchs a domicile ou à l'extérieur).

2) Dans le même style j'ai aussi besoin d'une requête qui me renvoit LE dernier matchs joué par chaque équipe.

Je suis assez médiocre pour exécuter des requetes sql dès que ca se complique un peu.
J'espère qu'ici je vais pouvoir trouver de l'aide.
Voilà. Merci encore pour ton attention, bon surf et bonne journée.

5 réponses

alain42
 
Bonsoir,

Tu as mis dans ta table matchs le champ id en auto increment, ca veut dire qu'a chaque insertion il s'incremente d'une unite

Hors qd tu INSERT tu lui donnes une valeur:
INSERT INTO `matchs` VALUES (24, '2007-10-27', '20h30', 'La madeleine 2', 'Seniors A'');

Je pense que cela gene
0
oimself
 
Hello,
C'est exactement ça, tu devras corriger chaque lique comme suit :

INSERT INTO `matchs` VALUES ('', '2007-10-27', '20h30', 'La madeleine 2', 'Seniors A'');
ou
INSERT INTO `matchs` VALUES ('2007-10-27', '20h30', 'La madeleine 2', 'Seniors A'');

Dans la 1ere, il y a '' à la place du 24, dans la 2eme y'a carrement rien.
Tu peux aussi choisir de gerer tes id toi-même et ainsi pouvoir entrer des données comme tu as fais en faisant ceci :

CREATE TABLE `matchs` (
`id` int(11) NOT NULL ,

j'ai viré le "auto_increment"....
Pour info et pour ton bonheur, essaye donc ce petit logiciel qui va bien t'aider à concevoir et valider tes modèles :
http://fabforce.eu/dbdesigner4/

Enjoy!
0
walidbmw Messages postés 6 Statut Membre
 
bon jours
1) dabord il te faut un orde a vos table et une relation entre les deux table
l orde c est avec (order by);
et je croie que ce que vous voulez far c est imposible avec une requette sql
car une selection peut etre base sur un critaire donne ,mais il ne peut pas le nombre d enregistrement a aficher
et en fin si vous aurai une solution donne la moi
merci

2) select match.domicile,match. exterieur from match where match.date>sysdate;

sysdate est date du systememais ca va nous ramener tous les matche jouer avant ce jours la.
0
Micky
 
Bonjour,
Les enregistrements que j'ai mi, c'est seulement des exemples pour bien exposer mon problème, quand j(insère un nouvel enregistrement je met bien INSERT INTO `matchs` VALUES ('', '2007-10-27', '20h30', 'La madeleine 2', 'Seniors A'');

Là ou il me faut de l'aide c'est pour les requetes, enfin merci quand meme
0

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

Posez votre question
majdoulin Messages postés 106 Statut Membre
 
bonjour tout le monde,

Mickey pour faire des requetes sql iul faut d abord que tu aies des champs qui font la relation entre tes 2 tables ,
alors je crois qu'il faudrait que dans de la table match ,k'il y ait un champ ( equipe(int)) par exemple qui fait reference a l'equipe qui va jouer ce match , ce champ sera une cle etrangere(foreign key) ,ce n est qu en inserant cette cle que tu pourras faire des requetes.

a bientot
0