Auteur |
Message |
hm
Forumeur occasionnel
Messages: 24
|
Posté le:
Lun 14 Mai 2007 - 19:28 |
|
Pierrot67 a écrit: |
Bonjour à tous,
Pour le Sql, j'ai juste la première. La seconde j'ai fait :
SELECT nom
FROM SOUS_TRAITANT
WHERE Code = SELECT NumeroContre
FROM AFFECTER
WHERE codeZEI = 'CA'
|
Ca ne marche pas, tu "joins" des codes de sous-traitants avec des numeros de contrats
Pierrot67 a écrit: |
Pour l'algo, j'ai juste les deux premières. La troisième je n'ai pas mi le pour et la dernière est fausse.
Pour la techno, j'ai mi vraiment nimp' ormis la dernière...
Merci de votre aide !!! |
Je précise qu'il ne s'agit aucunement d'un corrigé "juste", mais simplement de mes réponses personnelles ^^ |
Dernière édition par hm le Lun 14 Mai 2007 - 19:29; édité 1 fois |
|
|
|
N'oubliez pas de vous inscrire à la communauté pour participer. Si vous êtes déjà membre, connectez-vous pour faire disparaître ce bandeau publicitaire. |
jack
Newbiiiie
Sexe:
Messages: 11
|
Posté le:
Lun 14 Mai 2007 - 19:28 |
|
A part ça, qqun a deposé le sujet ? |
|
|
|
|
Doonuts
Newbiiiie
Messages: 1
|
Posté le:
Lun 14 Mai 2007 - 19:29 |
|
Bon et bien la correction me semble pas mal. En plus ça correspond en grande partie à se que j'ai fait, sauf le MCD qui est un ptit peu différent et le réseau avec l'echange des clé que je ne maitrisais pas du tout. Mais le reste c'est GOOD !
Pour ceux qui n'ont pas trop bien réussi, il reste encore beaucoup d'épreuves pour se refaire. N'hésitez pas à donner un dernier coup dans les révisions pour parfaire vos résultats à venir.
Bon courage à tous ! |
|
|
|
|
cvex
Forumeur occasionnel
Sexe:
Messages: 19
|
Posté le:
Lun 14 Mai 2007 - 19:31 |
|
Yahoouu pas de GEOSI !!!
Ca c'est de la boulette :p
Franchement nickel le partiel ! Je n'avais pas révé mieux
Edit : Je scan le sujet |
Dernière édition par cvex le Lun 14 Mai 2007 - 19:32; édité 1 fois |
|
|
|
Vincent
Webmaster
Sexe:
Messages: 5584
Localisation: Montpellier
|
Posté le:
Lun 14 Mai 2007 - 19:32 |
|
jack a écrit: |
A part ça, qqun a deposé le sujet ? |
Pour le moment je n'ai encore rien reçu dans ma bal. |
_________________ Hey les amis, pensez à suivre @webig sur Twitter, et pourquoi pas me suivre moi @cybervince |
|
|
|
cvex
Forumeur occasionnel
Sexe:
Messages: 19
|
Posté le:
Lun 14 Mai 2007 - 19:49 |
|
Vincent, je viens de t'envoyer par mail les 14 pages de l'étude de cas |
|
|
|
|
Genzo
Modérateur
Sexe:
Messages: 1706
Localisation: Sartrouville (78)
|
Posté le:
Lun 14 Mai 2007 - 19:50 |
|
Pour la question 3.3
J'ai vu en première page une correction proposée, mais pour moi elle est incorrecte.
Une requete INSERT <table> VALUES (<.........>,<......>, ... ), doit mentionner tous les champs. Sauf que dans lesChamps, on ne sait pas si tous les champs de la table sont disponibles !
Donc quand c'est comme ca il faut avoir une requete SQL de ce format :
INSERT INTO <table> (<champ1>,<champ2>) VALUES (<valeur1>,<valeur2>), d'où :
Code: |
PROCEDURE GèreRDV.ajouter(numéro : chaine, lesChamps : Champs)
DEBUT
champs : chaine
valeurs : chaine
champs <- "numero"
valeurs <- numéro
iChamps : entier
POUR iChamps de 0 à lesChamps.getNbChamps() - 1 FAIRE
champs <- champs + ", " + lesChamps.getNom(iChamps)
valeurs <- valeurs + ", " + lesChamps.getValeur(iChamps)
FIN POUR
requete : chaine
requete <- "INSERT INTO RDV (" + champs + ") VALUES (" + valeurs + ")"
execSql(requete)
FIN |
Et on pourrait pousser la chansonette avec les "
Pour la question 3.4
Code: |
PROGRAMME majTableRdv
BEBUT
doc : DoxXml
doc <- new DocXml()
gRdv : GèreRDV
gRdv <- new GèreRDV("...")
racine : NoeudXml
doc.charger("...")
racine <- doc.racine()
iRacine : entier
POUR iRacine de 0 à racine.nbFils() - 1 FAIRE
noeudRdv : NoeudXml
noeudRdv <- racine.getFils(iRacine)
actionRdv : NoeudXml
actionRdv <- noeudRdv.getFils(iRacine).getAttribut(0)
SELON LES VALEURS DE actionRdv
"modif", "ajout" : lesChamps : Champs
lesChamps <- new Champs()
iNoeudRdv : entier
POUR iNoeudRdv de 1 à noeudRdv.nbFils() - 1 FAIRE
lesChamps.ajouter(noeudRdv.getFils(iNoeudRdv).getNom(),
noeudRdv.getFils(iNoeudRdv).getValeur()
)
FIN POUR
SI actionRdv = "ajout" ALORS
gRdv.ajouter(noeudRdv.getFils(0).getValeur(), lesChamps)
SINON
gRdv.modifier(noeudRdv.getFils(0).getValeur(), lesChamps)
"supp" : gRdv.supprimer(noeudRdv.getFils(0).getValeur())
FIN SELON
FIN POUR
FIN |
|
_________________ N'oubliez pas de mettre un avis sur votre lycée/centre de formation !!! Pensez aux futurs BTSiens. Merci
Dernière édition par Genzo le Mar 15 Mai 2007 - 10:31; édité 3 fois |
|
|
|
hm
Forumeur occasionnel
Messages: 24
|
Posté le:
Lun 14 Mai 2007 - 19:56 |
|
Exact, je l'ai d'ailleurs précisé en remarque sur ma copie,
Sur le sujet il etait précisé que TOUS les champs etaient remplis, et dans le meme ordre que ceux définis dans la table
(merci j'edite mon corrigé ^^) |
Dernière édition par hm le Lun 14 Mai 2007 - 19:59; édité 1 fois |
|
|
|
d-rek
Newbiiiie
Sexe:
Messages: 10
|
Posté le:
Lun 14 Mai 2007 - 19:58 |
|
J'ai oublié de mettre les virgules entre mes valeurs à insérer dans la PROCEDURE GèreRDV.ajouter()
J'ai fait direct VALUES(valeur)
Pour la requête C vous êtes sûr de votre coup ?? |
|
|
|
|
myln
Newbiiiie
Sexe:
Messages: 11
|
Posté le:
Lun 14 Mai 2007 - 20:03 |
|
La requete de Genzo, ben ! J'ai fait la même !
Je savais pas trop si je devais mettre les noms de colonne, alors je les ai mis quand même. |
|
|
|
|
jack
Newbiiiie
Sexe:
Messages: 11
|
Posté le:
Lun 14 Mai 2007 - 20:05 |
|
Alors !!!
Et le sujet, il est dispo
Pensez a ce qui ne l'on pas passé cette année et qui veulent participer à la correction |
|
|
|
|
ghost
Newbiiiie
Messages: 5
|
Posté le:
Lun 14 Mai 2007 - 20:22 |
|
jss pas d'acc pour la rep proposé en 2.1 c)
je voudrai savoir ce que vous pensez de ca :
SELECT S.nom, SUM(C.nbTotRDVPris )
FROM SOUS_TRAITANT S, CONTRAT C
WHERE S.code = C.codeSousTraitant
GROUP BY C.codeSousTraitant
HAVING SUM(C.nbTotRDVPris ) = (SELECT MAX( SUM(nbTotRDVPris ))
FROM CONTRAT
GROUP BY codeSousTraitant )
en faite la je fais la somme de tout les RDV car c'est pas dit le max de l'année mais le max tout court.
Voila donné moi votre avis |
|
|
|
|
cvex
Forumeur occasionnel
Sexe:
Messages: 19
|
Posté le:
Lun 14 Mai 2007 - 20:23 |
|
Mince j'ai pas tenu compte de ce qu'il était marqué sur la copie
Moi j'ai fait l'algo en fonction de cette requete la :
Citation: |
INSERT INTO <table> (<champ1>,<champ2>) VALUES (<valeur1>,<valeur2>) |
|
|
|
|
|
Genzo
Modérateur
Sexe:
Messages: 1706
Localisation: Sartrouville (78)
|
Posté le:
Lun 14 Mai 2007 - 20:24 |
|
ghost a écrit: |
jss pas d'acc pour la rep proposé en 2.1 c)
je voudrai savoir ce que vous pensez de ca :
SELECT S.nom, SUM(C.nbTotRDVPris )
FROM SOUS_TRAITANT S, CONTRAT C
WHERE S.code = C.codeSousTraitant
GROUP BY C.codeSousTraitant
HAVING SUM(C.nbTotRDVPris ) = (SELECT MAX( SUM(nbTotRDVPris ))
FROM CONTRAT
GROUP BY codeSousTraitant )
en faite la je fais la somme de tout les RDV car c'est pas dit le max de l'année mais le max tout court.
Voila donné moi votre avis |
Autant mettre directement ca nan ?
Code: |
SELECT S.nom, MAX(SUM(C.nbTotRDVPris ))
FROM SOUS_TRAITANT S, CONTRAT C
WHERE S.code = C.codeSousTraitant |
|
_________________ N'oubliez pas de mettre un avis sur votre lycée/centre de formation !!! Pensez aux futurs BTSiens. Merci |
|
|
|
hm
Forumeur occasionnel
Messages: 24
|
Posté le:
Lun 14 Mai 2007 - 20:24 |
|
ghost a écrit: |
jss pas d'acc pour la rep proposé en 2.1 c)
je voudrai savoir ce que vous pensez de ca :
SELECT S.nom, SUM(C.nbTotRDVPris )
FROM SOUS_TRAITANT S, CONTRAT C
WHERE S.code = C.codeSousTraitant
GROUP BY C.codeSousTraitant
HAVING SUM(C.nbTotRDVPris ) = (SELECT MAX( SUM(nbTotRDVPris ))
FROM CONTRAT
GROUP BY codeSousTraitant )
en faite la je fais la somme de tout les RDV car c'est pas dit le max de l'année mais le max tout court.
Voila donné moi votre avis |
En effet |
|
|
|
|
myln
Newbiiiie
Sexe:
Messages: 11
|
Posté le:
Lun 14 Mai 2007 - 20:25 |
|
cvex a écrit: |
Mince j'ai pas tenu compte de ce qu'il était marqué sur la copie
Moi j'ai fait l'algo en fonction de cette requete la :
Citation: |
INSERT INTO <table> (<champ1>,<champ2>) VALUES (<valeur1>,<valeur2>) |
|
Je sais pas si ça va compter dans leur bareme ou pas, parce que bon une requete sql tu l'as fait bien comme tu veux non? (j'espère lol) |
|
|
|
|
cvex
Forumeur occasionnel
Sexe:
Messages: 19
|
Posté le:
Lun 14 Mai 2007 - 20:26 |
|
ghost a écrit: |
jss pas d'acc pour la rep proposé en 2.1 c)
je voudrai savoir ce que vous pensez de ca :
SELECT S.nom, SUM(C.nbTotRDVPris )
FROM SOUS_TRAITANT S, CONTRAT C
WHERE S.code = C.codeSousTraitant
GROUP BY C.codeSousTraitant
HAVING SUM(C.nbTotRDVPris ) = (SELECT MAX( SUM(nbTotRDVPris ))
FROM CONTRAT
GROUP BY codeSousTraitant )
en faite la je fais la somme de tout les RDV car c'est pas dit le max de l'année mais le max tout court.
Voila donné moi votre avis |
Non ta requête ne va pas dans le cas de l'étude de cas
On disait "Les sous-traitant ayant obtenu le plus grand nombre de rendez-vous"
Et quand tu regarde l'annexe 4, "nbTotRDVPris" représente tous les contrats passés avec les sous-traitants pour l'année en cours donc le SUM ne sert a rien |
|
|
|
|
jack
Newbiiiie
Sexe:
Messages: 11
|
Posté le:
Lun 14 Mai 2007 - 20:27 |
|
ghost a écrit: |
jss pas d'acc pour la rep proposé en 2.1 c)
je voudrai savoir ce que vous pensez de ca :
SELECT S.nom, SUM(C.nbTotRDVPris )
FROM SOUS_TRAITANT S, CONTRAT C
WHERE S.code = C.codeSousTraitant
GROUP BY C.codeSousTraitant
HAVING SUM(C.nbTotRDVPris ) = (SELECT MAX( SUM(nbTotRDVPris ))
FROM CONTRAT
GROUP BY codeSousTraitant )
en faite la je fais la somme de tout les RDV car c'est pas dit le max de l'année mais le max tout court.
Voila donné moi votre avis |
Deja ton group by est faux, tu groupe sur le nom qui est dans le select |
|
|
|
|
cvex
Forumeur occasionnel
Sexe:
Messages: 19
|
Posté le:
Lun 14 Mai 2007 - 20:28 |
|
myln a écrit: |
cvex a écrit: |
Mince j'ai pas tenu compte de ce qu'il était marqué sur la copie
Moi j'ai fait l'algo en fonction de cette requete la :
Citation: |
INSERT INTO <table> (<champ1>,<champ2>) VALUES (<valeur1>,<valeur2>) |
|
Je sais pas si ça va compter dans leur bareme ou pas, parce que bon une requete sql tu l'as fait bien comme tu veux non? (j'espère lol) |
Bah oui tu l'a fait comme tu veux mais bon si sur leur corriger il é noté ke cette méthode est fausse bah je l'ai dans le baba et peu etre toi osi si tu as fé pareil que moi... |
|
|
|
|
harlem
Forumeur occasionnel
Sexe:
Messages: 26
|
Posté le:
Lun 14 Mai 2007 - 20:28 |
|
Hm ton etude de cas tu l'a fais en combien de temps?? (t'etait deja chez toi a 16h )
Par contre en voyant ta corction qui a l'ai parfaite je me rend compte que j'ai fais des erreurs :
- la permiere requete, j'ai pas tenu compte de "journnés pleines"
- dans la 3eme requete il demandais le nombre total de rdv pris, or un sous-traitant peut avoir plusieurs contrat et j'ai fais :
SELECT S.nom, sum(C.nbTotRDVPris)
FROM SOUS_TRAITANT S, CONTRAT C
WHERE S.code = C.codeSousTraitant
AND C.nbTotRDVPRis = ( SELECT MAX(sum(nbTotRDVPris)) FROM SOUS_TRAITANT S, CONTRAT C
WHERE S.code = C.codeSousTraitant );
- pour le sql curseur, j'ai fais une seule boucle "tant que"
etant donné que pour un jour donné(envoyer en parametre) il peut y avoir qu'une ligne par contrat.
Sinon l'algo c que du bon |
|
|
|
|
|