Gérer le forum:  Aide  •  Rechercher  •  Liste des Membres  •  Groupes d'utilisateurs   •  S'enregistrer  •  Profil  •  Se connecter pour vérifier ses messages privés  •  Connexion 
 [Feedback BTS IG 2012] Etudes de Cas - Option Développeur Voir le sujet suivant
Voir le sujet précédent
Poster un nouveau sujetRépondre au sujet
Auteur Message
Axel29
Forumeur occasionnel
Forumeur occasionnel




Messages: 27

MessagePosté le: Dim 20 Mai 2012 - 12:45 Répondre en citantRevenir en haut

Merci !!! Comme dans le mémento SQL je ne voyais que le "NULL" je me suis dit que j'avais tiré ça d'un autre langage mais apparemment non Very Happy
Donc d'après toi la requête est bonne avec un simple WHERE dateHeureCloture IS NULL ?

EDIT: Pour ceux que ça intéresse vu qu'il n'y a pas la D dans la correction proposée, voici ce que j'ai fais (rien ne garanti qu'elle est bonne):

SELECT nom, SUM(I.id) as Nb_incident
FROM Station S, Borne B, Incident I
WHERE S.id = idStation
AND idBorne = B.id
GROUP BY nom
HAVING Nb_incident > 10;
Voir le profil de l'utilisateurEnvoyer un message privéEnvoyer l'e-mail

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.
Athar
Forumeur fréquent
Forumeur fréquent


BTS IG - Option développeur Diplômé
Sexe: Sexe:Masculin
Messages: 98
Localisation: France, Loire

MessagePosté le: Dim 20 Mai 2012 - 12:51 Répondre en citantRevenir en haut

Pour le C, perso j'ai fais un COUNT(id), histoire d'être sur que tous les champs soient comptabilisé (id devant obligatoirement être remplis, ce qui n'est pas le cas d'autres champs^^).
Après, j'ai appliqué la version courte aussi (le = NULL direct quoi, donnant un truc de ce genre:

/* C */
SELECT COUNT(id) AS nbIncidentNonClôturé
FROM INCIDENT
WHERE dateHeureClôture = NULL


Le but étant de faire un comptage de tous les champs ou dateHeureCloture est vide, je pense que faire un compte des ID ne tuera pas ici^^)
Voir le profil de l'utilisateurEnvoyer un message privéVisiter le site web du posteur
Nessim.B
Accro à Web-IG
Accro à Web-IG




Messages: 104

MessagePosté le: Dim 20 Mai 2012 - 12:53 Répondre en citantRevenir en haut

Axel29 a écrit:
Merci !!! Comme dans le mémento SQL je ne voyais que le "NULL" je me suis dit que j'avais tiré ça d'un autre langage mais apparemment non Very Happy
Donc d'après toi la requête est bonne avec un simple WHERE dateHeureCloture IS NULL ?

EDIT: Pour ceux que ça intéresse vu qu'il n'y a pas la D dans la correction proposée, voici ce que j'ai fais (rien ne garanti qu'elle est bonne):

SELECT nom, SUM(I.id) as Nb_incident
FROM Station S, Borne B, Incident I
WHERE S.id = idStation
AND idBorne = B.id
GROUP BY nom
HAVING Nb_incident > 10;


Non seulement le IS NULL est correct (donc a priori ta requête l'est également) mais sache qu'une requête avec champs = NULL est syntaxiquement fausse car NULL n'est pas une valeur.

_________________
2011-2012 : Licence MIAGE
2010-2011 : BTS IG option DA
2009-2010 : BTS IG
Voir le profil de l'utilisateurEnvoyer un message privé
MohaIG
Forumeur occasionnel
Forumeur occasionnel




Messages: 19

MessagePosté le: Dim 20 Mai 2012 - 13:04 Répondre en citantRevenir en haut

Axel29 a écrit:
Merci !!! Comme dans le mémento SQL je ne voyais que le "NULL" je me suis dit que j'avais tiré ça d'un autre langage mais apparemment non Very Happy
Donc d'après toi la requête est bonne avec un simple WHERE dateHeureCloture IS NULL ?

EDIT: Pour ceux que ça intéresse vu qu'il n'y a pas la D dans la correction proposée, voici ce que j'ai fais (rien ne garanti qu'elle est bonne):

SELECT nom, SUM(I.id) as Nb_incident
FROM Station S, Borne B, Incident I
WHERE S.id = idStation
AND idBorne = B.id
GROUP BY nom
HAVING Nb_incident > 10;



Je pence qu'on ne peut pas reprendre dans le having un champ nommé "Nb_Accident", Les langages ne savent pas le faire
Voir le profil de l'utilisateurEnvoyer un message privé
Axel29
Forumeur occasionnel
Forumeur occasionnel




Messages: 27

MessagePosté le: Dim 20 Mai 2012 - 13:05 Répondre en citantRevenir en haut

Je suis sur mon téléphone donc je ne peux pas retrouver le lien mais j'ai justement cherché sur Google et apparement il est possible de mettre un having sur un alias
Voir le profil de l'utilisateurEnvoyer un message privéEnvoyer l'e-mail
MohaIG
Forumeur occasionnel
Forumeur occasionnel




Messages: 19

MessagePosté le: Dim 20 Mai 2012 - 13:14 Répondre en citantRevenir en haut

Axel29 a écrit:
Je suis sur mon téléphone donc je ne peux pas retrouver le lien mais j'ai justement cherché sur Google et apparement il est possible de mettre un having sur un alias


C'est ce que notre prof nous avait dit d’après mais souvenir
Voir le profil de l'utilisateurEnvoyer un message privé
MohaIG
Forumeur occasionnel
Forumeur occasionnel




Messages: 19

MessagePosté le: Dim 20 Mai 2012 - 13:29 Répondre en citantRevenir en haut

Je viens d'essayer sur une de mes EPTI sa fonctionne, J'ai du mal écouter le cour Very Happy Donc j'ai rien dit !
Voir le profil de l'utilisateurEnvoyer un message privé
Axel29
Forumeur occasionnel
Forumeur occasionnel




Messages: 27

MessagePosté le: Dim 20 Mai 2012 - 14:02 Répondre en citantRevenir en haut

MohaIG a écrit:
Je viens d'essayer sur une de mes EPTI sa fonctionne, J'ai du mal écouter le cour Very Happy Donc j'ai rien dit !


Héhé c'est les parties qui embrouillent Razz J'ai toujours du mal à me souvenir si c'est sur le COUNT ou le HAVING qu'on peut mettre par exemple "HAVING 3 > 10" ou bien si il faut réécrire tout, etc. Razz
Voir le profil de l'utilisateurEnvoyer un message privéEnvoyer l'e-mail
Athar
Forumeur fréquent
Forumeur fréquent


BTS IG - Option développeur Diplômé
Sexe: Sexe:Masculin
Messages: 98
Localisation: France, Loire

MessagePosté le: Dim 20 Mai 2012 - 14:03 Répondre en citantRevenir en haut

MohaIG a écrit:
Je viens d'essayer sur une de mes EPTI sa fonctionne, J'ai du mal écouter le cour Very Happy Donc j'ai rien dit !


C'est aussi possible que cela change en fonction de la BDD^^
Voir le profil de l'utilisateurEnvoyer un message privéVisiter le site web du posteur
MohaIG
Forumeur occasionnel
Forumeur occasionnel




Messages: 19

MessagePosté le: Dim 20 Mai 2012 - 14:16 Répondre en citantRevenir en haut

Athar a écrit:
MohaIG a écrit:
Je viens d'essayer sur une de mes EPTI sa fonctionne, J'ai du mal écouter le cour Very Happy Donc j'ai rien dit !


C'est aussi possible que cela change en fonction de la BDD^^


J'ai essayé sur MySQL
Voir le profil de l'utilisateurEnvoyer un message privé
Jacco
Newbiiiie
Newbiiiie




Messages: 7

MessagePosté le: Mer 23 Mai 2012 - 18:10 Répondre en citantRevenir en haut

quanta a écrit:
Citation:
/* C */
SELECT COUNT(*) AS nbIncendieNonCloture
FROM INCENDIE
WHERE dateHeureCloture IN (
SELECT dateHeureCloture FROM INCENDIE WHERE dateHeureCloture = NULL
)


Pourquoi pas plus simplement :

Code:

/* C */
SELECT COUNT(*) AS nbIncendieNonCloture
FROM INCENDIE
WHERE dateHeureCloture  = NULL


?

C'est vrai.
C'était ce que j'avais fait au début, mais comme je trouvais ça simple j'ai essayé de compliquer un peu xD
Voir le profil de l'utilisateurEnvoyer un message privé
Proutiforme
Newbiiiie
Newbiiiie




Messages: 11

MessagePosté le: Sam 09 Juin 2012 - 19:59 Répondre en citantRevenir en haut

Et sinon ... quelqu'un à une date pour la sortie des corrigés ? Car sur le net je n'ai trouvé que le corrigé de Math ... ( osef, à vrai dire -.- )
Voir le profil de l'utilisateurEnvoyer un message privé
Axel29
Forumeur occasionnel
Forumeur occasionnel




Messages: 27

MessagePosté le: Dim 10 Juin 2012 - 03:27 Répondre en citantRevenir en haut

Ça semble bien parti pour devoir attendre la sortie des résultats pour avoir les corrigés, soit le 9 juillets (en tout cas pour ma zone)
Voir le profil de l'utilisateurEnvoyer un message privéEnvoyer l'e-mail
Axel29
Forumeur occasionnel
Forumeur occasionnel




Messages: 27

MessagePosté le: Mer 13 Juin 2012 - 00:30 Répondre en citantRevenir en haut

Correction disponible sur reseau certa:
http://www.reseaucerta.org/sujets/matiere.php?c=0&m=8&f=5

Bonne chance !
Voir le profil de l'utilisateurEnvoyer un message privéEnvoyer l'e-mail
diablox0147
Newbiiiie
Newbiiiie




Messages: 6

MessagePosté le: Jeu 14 Juin 2012 - 12:30 Répondre en citantRevenir en haut

Je trouve une erreur dans corrige:

3.1 B) Liste des interventions d¨¦marr¨¦es plus de 24 heures apr¨¨s l¡¯incident (identifiant de
l¡¯intervention, remarques, date et heure de l¡¯incident, date et heure de d¨¦but
d¡¯intervention).
SELECT INT.id, remarques, INC.dateHeure, INT.dateHeureD¨¦but
FROM INTERVENTION INT, INCIDENT INC
WHERE idIncident = INC.id
AND DATEDIFF(hour, INC.dateHeure, INT.dateHeureD¨¦but) > 24

Ici, ca doit etre >= 24...
Voir le profil de l'utilisateurEnvoyer un message privé
Axel29
Forumeur occasionnel
Forumeur occasionnel




Messages: 27

MessagePosté le: Jeu 14 Juin 2012 - 12:32 Répondre en citantRevenir en haut

Non c'est bien >24
Enfin à mon avis les deux seront acceptées
Voir le profil de l'utilisateurEnvoyer un message privéEnvoyer l'e-mail
Athar
Forumeur fréquent
Forumeur fréquent


BTS IG - Option développeur Diplômé
Sexe: Sexe:Masculin
Messages: 98
Localisation: France, Loire

MessagePosté le: Jeu 14 Juin 2012 - 12:39 Répondre en citantRevenir en haut

Vu que c'est "plus de 24 heures", c'est bien >, sinon cela aurait était "égal ou plus de 24 heures" pour avoir un >=, enfin je suppose^^
Voir le profil de l'utilisateurEnvoyer un message privéVisiter le site web du posteur
diablox0147
Newbiiiie
Newbiiiie




Messages: 6

MessagePosté le: Jeu 14 Juin 2012 - 13:02 Répondre en citantRevenir en haut

Nonnonnon.... Imaginez que l'intervention demarre a 12:00:00 , puis le deuxieme jour a 12:24:00, le temps a passe 24h24min on lance cette requete, elle retournera 24, puisque dans DATEDIFF on veut l'heure

Ou soit on reflechi comme ca:

L'intervention Demarre a N:00:00
, trois cas:
soit: N+24:00:00
Dans ce cas là le temps passe est égale à 24, mais ça ne changera rien, puisque au moment de retourner le résulta le temps est déjà passé à +24h

soit: N+([24-25[) :00:00 ici c'est même logique de ce que j'écrit en haut

soit: N+25:00:00 Le corrige couvre simplement ce cas
Voir le profil de l'utilisateurEnvoyer un message privé
Athar
Forumeur fréquent
Forumeur fréquent


BTS IG - Option développeur Diplômé
Sexe: Sexe:Masculin
Messages: 98
Localisation: France, Loire

MessagePosté le: Jeu 14 Juin 2012 - 13:09 Répondre en citantRevenir en haut

En même temps, les corrigés sont surtout informel. Dans l'arrière boutique lors des corrections, il peut y avoir des changements au niveau national qui ne seront pas publiés sur le corrigé que nous avons^^
Voir le profil de l'utilisateurEnvoyer un message privéVisiter le site web du posteur
yyyyy
Forumeur fréquent
Forumeur fréquent




Messages: 89

MessagePosté le: Jeu 14 Juin 2012 - 13:51 Répondre en citantRevenir en haut

diablox0147 a écrit:
Nonnonnon.... Imaginez que l'intervention demarre a 12:00:00 , puis le deuxieme jour a 12:24:00, le temps a passe 24h24min on lance cette requete, elle retournera 24, puisque dans DATEDIFF on veut l'heure

Ou soit on reflechi comme ca:

L'intervention Demarre a N:00:00
, trois cas:
soit: N+24:00:00
Dans ce cas là le temps passe est égale à 24, mais ça ne changera rien, puisque au moment de retourner le résulta le temps est déjà passé à +24h

soit: N+([24-25[) :00:00 ici c'est même logique de ce que j'écrit en haut

soit: N+25:00:00 Le corrige couvre simplement ce cas


Ton raisonnement est juste mais les correcteurs ne vont pas chipoter pour si peu... C'est vraiment un détail de logique.
Voir le profil de l'utilisateurEnvoyer un message privé
Montrer les messages depuis:      
Poster un nouveau sujetRépondre au sujet
 Sauter vers:   



Voir le sujet suivant
Voir le sujet précédent
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum