|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Simon Faucher Inscription : janvier 2011 Messages : 2 ![]() |
Bonjour,
Soyez indulgent, je suis débutant en SQL. J'ai une requête qui me donne les résultats d'une course. J'ai une table qui me donne les infos sur le coureur, une sur ses résultats (départ, arrivée, temps) et une sur les temps de passages (qui peuvent en compter un nombre indéfini). J'aimerais que la requête me donne les résultats sur une seule ligne. ex: nom, départ, arrivée, split 1, split 2, final Simon, 9h00, 10h00, 9h15, 9h45, 1h00 Ma requête actuel me donne ce résultats mais n'affiche pas ceux qui aurais abandonné la course avant le split 2. Elle se limite aussi à 2 temps de passage. Code :
|
||
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 950 ![]() |
Commencez par respecter la charte en postant le DDL de vos tables :
http://www.developpez.net/forums/d96...vement-poster/ A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
00
|
|
|
#3 | ||
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
Bonjour
Pour afficher les résultats pour ceux qui n'ont pas passé tous les checkpoints, faites des jointure externes pour CP1 et CP2 : Code :
L'utilisation de PIVOT serait peut être plus simple, mais ne résoudra pas le problème du nombre de passage indéfini : vous ne pouvez pas faire une requete qui retourne un nombre variable de colonnes, à moins de générer dynamiquement votre requete et de l'exécuter ensuite, mais c'est très sale comme solution. Le mieux dans ce cas est de traiter ce problème au niveau de votre programme qui affiche les résultats, et donc une requete qui renvoi une ligne par checkpoint (ordonné par date/heure pour simplifier les choses !) |
||
|
|
00
|
|
|
#4 | ||||
|
Invité de passage
![]() Simon Faucher Inscription : janvier 2011 Messages : 2 ![]() |
Bonjour,
Merci pour vos réponses. J'ai modifier la requête. Le résultats ajoute bien les participant qui ne passe pas au point 2 mais me double ceux qui ont fait le parcours complet. Une fois avec toute l'information et une deuxième fois avec le checkpoint 1 seulement avec le temps du 2 et null dans le checkpoint 2... Voici le résultats: Code :
Code :
table Detailsresultats: iddetailsresultats idresultat idevenement depart arrivée rang sequence Table CheckPoint: idcheckpoint iddetailresultat dateheure Merci de votre aide |
||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com