Création d'une requête SQL - SQL/NoSQL - Programmation
Marsh Posté le 09-11-2010 à 09:34:10
Attends, tu veux obtenir uniquement les données en rouge?
Marsh Posté le 09-11-2010 à 09:41:57
Non je veux obtenir tout le tableau, mais les données en rouge ceux sont les date de début de de fin de l'emploi.
- la date du 01/04/2003 vient de la 3ème ligne de ASSISTANT(E) TRANSPORT
- la date du 31/12/2008 vient de la 1ère ligne de ASSISTANT(E) TRANSPORT
c'est a dire date date de début et la date de fin de son activité ASSISTANT(E) TRANSPORT
Marsh Posté le 09-11-2010 à 09:43:29
D'accord je vois. T'en es où avec ta requête alors (histoire qu'on t'aide sans faire tout le boulot pour toi)
Marsh Posté le 09-11-2010 à 09:52:16
Malheureusement, je n'ai aucune idée, car si je fais un distinct, je vais n'avoir qu'un fois la fonction ACHETEUR, au lieu de 2. Sans le faite que la personne puisse refaire un ancien métier, cela aurait fonctionner tres bien; Mais là je suis bloqué.
Marsh Posté le 09-11-2010 à 13:50:59
Voila une solution en une seule query (sans stored proc):
Code :
|
J'espere que ce n'est pas un exercice d'ecole sinon tu vas te faire avoir vu que c'est un chouilla capilotracté.
Le code complet que j'ai utilisé pour tester:
Code :
|
Voila le resultat:
NUMSS DEB FIN Libemploi |
Marsh Posté le 09-11-2010 à 14:17:42
Génial,
merci Oliiii,
j'ai juste remplacé isnull par nvl, il connaissait pas la fonction isnull
et je connaissais pas partition by ni over
Merci
Marsh Posté le 09-11-2010 à 14:35:37
C'est testé pour SQL Server, mais les autres gros SGBD devraient avoir l'equivalent des fonctions.
Marsh Posté le 09-11-2010 à 08:56:15
Bonjour,
Je recherche de l'aide pour construire une requête SQL.
Voici ma table de départ
NUMSS DEB FIN LIBEMPLOI
17807280 01/01/2010 ACHETEUR
17807280 01/07/2009 31/12/2009 ACHETEUR
17807280 01/01/2009 30/06/2009 RESP. LIBRE SERVICE
17807280 01/11/2005 31/12/2008 ASSISTANT(E) TRANSPORT
17807280 01/01/2004 31/10/2005 ASSISTANT(E) TRANSPORT
17807280 01/04/2003 31/12/2003 ASSISTANT(E) TRANSPORT
17807280 01/10/2001 31/03/2003 ACHETEUR
Voici le résultat que je souhaiterai obtenir
NUMSS DEB FIN LIBEMPLOI
17807280 01/07/2009 ACHETEUR
17807280 01/01/2009 30/06/2009 RESP. LIBRE SERVICE
17807280 01/04/2003 31/12/2008 ASSISTANT(E) TRANSPORT
17807280 01/10/2001 31/03/2003 ACHETEUR
merci de votre aide.