Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server
MS SQL-Server Forum Microsoft SQL-Server. Avant de poster -> FAQ SQL-Server, Tutoriels SQL-Server
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/02/2011, 13h24   #1
Membre à l'essai
 
Inscription : février 2011
Messages : 60
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Secteur : Industrie

Informations forums :
Inscription : février 2011
Messages : 60
Points : 21
Points : 21
Par défaut Parcours des lignes en t-sql

Bonjour,
Je souhaiterais obtenir touts les segments entre un point de départ et une arrivée en passant par toute les intersections.

La structure de la table est comme suit:
code Départ Arrivée intersection
1 a b c
1 a b d
1 a b e
. . . .
. . . .
Je veux avoir en sortie:
code Début fin
1 a c
1 c d
1 d e
1 e b

Comment je peux résoudre ceci par requête ou des procédures stockées.
Des suggestions!!!
Merci.
AJ_ing est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2011, 01h06   #2
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 684
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 34
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en décisionnel
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2008
Messages : 5 684
Points : 10 459
Points : 10 459
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
Je ne suis pas sûr que votre exemple reflète ce que vous souhaitiez, mais de ce que j'ai compris :
Code :
1
2
3
4
5
SELECT code, Départ AS Début, Intersection AS Fin
  FROM MaTable
 union ALL
SELECT code, Intersection, Arrivée
  FROM MaTable
__________________
Email : http://scr.im/waldar
Waldar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2011, 09h50   #3
Membre à l'essai
 
Inscription : février 2011
Messages : 60
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Secteur : Industrie

Informations forums :
Inscription : février 2011
Messages : 60
Points : 21
Points : 21
Bonjour,

Pour votre exemple ça marche si on a une seule intersection c'a d:

code Départ Arrivée intersection
1 a b c

en sortie:
code Début fin
1 a c
1 c b

Mais dans le cas ou j'ai plusieurs intersections,l'arrivée ne correspond pas toujours à la fin,l'intsercsection de la ligne d'avant peut être une fin.

Merci.
AJ_ing est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2011, 15h59   #4
Modérateur

 
Avatar de elsuket
 
Homme Nicolas Souquet
Administrateur de base de données
Inscription : janvier 2005
Messages : 4 667
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Souquet
Âge : 30
Localisation : Thaïlande

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2005
Messages : 4 667
Points : 8 715
Points : 8 715
Bonjour,

C'est votre modèle de données qu'il faut revoir, ce qui rendra l'expression de la requête vous donnant ce que vous souhaitez trouver enfantine ...

C'est à dire :

- une table des parcours
- une table des segments de ce parcours, référençant la table des parcours, avec l'ordre de ces segments puisque votre parcours a un sens
- une table des intersections de ces segments, référençant la table des segments, toujours avec un ordre.

@++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes.
Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012
elsuket est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2011, 16h57   #5
Membre à l'essai
 
Inscription : février 2011
Messages : 60
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Secteur : Industrie

Informations forums :
Inscription : février 2011
Messages : 60
Points : 21
Points : 21
Bonjour,

ok.

Merci.
AJ_ing est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h25.


 
 
 
 
Partenaires

Hébergement Web