Précédent   Forum des professionnels en informatique > Bases de données > Oracle > SQL
SQL Forum d'entraide sur le SQL pour Oracle
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 22/12/2010, 14h25   #1
Invité de passage
 
Inscription : février 2008
Messages : 12
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 12
Points : 4
Points : 4
Par défaut Ordonner les résultats avec start with

bonjour,

j'ai une table NOMENCLATURE (NOME_ARTI_CODE_COMPOSE,NOME_LIGNE,NOME_ARTI_CODE_COMPOSANT,NOME_COEFFICIENT)

j'ai un article "4676/L-03" dont la nomenclature est la suivante :
Code sql :
1
2
3
4
5
6
 
NOME_ARTI_CODE_COMPOSE	NOME_LIGNE	NOME_ARTI_CODE_COMPOSANT	NOME_COEFFICIENT
----------------------------------------------------------------------------------------
4676/L-03 		1 		DECKE4676/L-03 			1 
4676/L-03 		3 		US46-03 			1 
4676/L-03 		5 		BL46 				1

chaque sous article (NOME_ARTI_CODE_COMPOSANT) à une nomenclature c-a-d un composant peut être un composé.

1- exemple de nomenclature du premier composant DECKE4676/L-03
Code sql :
1
2
3
4
5
6
7
8
9
 
NOME_ARTI_CODE_COMPOSE	NOME_LIGNE	NOME_ARTI_CODE_COMPOSANT	NOME_COEFFICIENT
----------------------------------------------------------------------------------------
DECKE 4676/L-03 	5 		T200034 			0,45 
DECKE 4676/L-03 	20 		T350022 			2 
DECKE 4676/L-03 	25 		T390050 			0,03 
DECKE 4676/L-03 	30 		T370082 			0,015 
DECKE 4676/L-03 	35 		T490310-G 			0,25 
DECKE 4676/L-03 	40 		T490147-G 			1
2- exemple de nomenclature du premier composant US46-03
Code sql :
1
2
3
4
5
6
7
8
9
 
NOME_ARTI_CODE_COMPOSE	NOME_LIGNE	NOME_ARTI_CODE_COMPOSANT	NOME_COEFFICIENT
----------------------------------------------------------------------------------------
US46-03 		1 		T370032 			0,34 
US46-03 		3 		T370080 			0,025 
US46-03 		4 		T390002 			0,02 
US46-03 		10 		T370033 			0,014 
US46-03 		20 		T390000 			1 
US46-03 		25 		T200034 			0,05


je veux que l'affichage des résultats soit comme suit:

Code sql :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
NOME_ARTI_CODE_COMPOSE	NOME_LIGNE	NOME_ARTI_CODE_COMPOSANT	NOME_COEFFICIENT	LEVEL
------------------------------------------------------------------------------------------------------------
4676/L-03 		1 		DECKE 4676/L-03 		1 				1 
DECKE 4676/L-03 	5 		T200034 			0,45  				2 
DECKE 4676/L-03 	20 		T350022 			2  				2 
DECKE 4676/L-03 	25 		T390050 			0,03  				2 
DECKE 4676/L-03 	30 		T370082 			0,015 				2 
DECKE 4676/L-03 	35 		T490310-G 			0,25  				2 
DECKE 4676/L-03 	40 		T490147-G 			1  				2 
4676/L-03 		5 		BL46 				1 				1 
BL46 			1 		T490250 			0,02 				2 
BL46 			2 		T460096 			6  				2 
BL46 			3 		T390051 			0,66 				2 
BL46 			38 		T490063 			0,05 				2 
BL46 			43 		T490081 			0,4  				2 
BL46 			48 		TB-BK-GK 			1 				2 
BL46 			53 		TB-EU 				1 				2 
BL46 			58 		T490224 			1 				2 
BL46 			63 		TB-EZ-46 			1 				2 
BL46 			68 		URE46 				1 				2 
4676/L-03 		3 		US46-03 			1 				1 
US46-03 		10 		T370033 			0,014 				2 
US46-03 		20 		T390000 			1 				2 
US46-03 		25 		T200034 			0,05 				2 
US46-03 		1 		T370032 			0,34  				2 
US46-03 		3 		T370080 			0,025 				2 
US46-03 		4 		T390002 			0,02  				2

mais si j'éxécute cette requette j'obtien ce résultat que n'est ordonné selon la nomenclature du "4676/L-03"
Code sql :
1
2
3
4
5
6
 
SELECT NOME_ARTI_CODE_COMPOSE,NOME_LIGNE,NOME_ARTI_CODE_COMPOSANT,NOME_COEFFICIENT,level
FROM   nomenclature
START  WITH nome_arti_code_compose = '4676/L-03'
CONNECT BY
        PRIOR nome_arti_code_composant = nome_arti_code_compose


Code sql :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
NOME_ARTI_CODE_COMPOSE	NOME_LIGNE	NOME_ARTI_CODE_COMPOSANT	NOME_COEFFICIENT	LEVEL
------------------------------------------------------------------------------------------------------------
4676/L-03 		3 		US46-03 			1 				1 
US46-03 		10 		T370033 			0,014 				2 
US46-03 		20 		T390000 			1 				2 
US46-03 		25 		T200034 			0,05 				2 
US46-03 		1 		T370032 			0,34  				2 
US46-03 		3 		T370080 			0,025 				2 
US46-03 		4 		T390002 			0,02  				2 
4676/L-03 		5 		BL46 				1 				1 
BL46 			1 		T490250 			0,02 				2 
BL46 			2 		T460096 			6  				2 
BL46 			3 		T390051 			0,66 				2 
BL46 			38 		T490063 			0,05 				2 
BL46 			43 		T490081 			0,4  				2 
BL46 			48 		TB-BK-GK 			1 				2 
BL46 			53 		TB-EU 				1 				2 
BL46 			58 		T490224 			1 				2 
BL46 			63 		TB-EZ-46 			1 				2 
BL46 			68 		URE46 				1 				2 
4676/L-03 		1 		DECKE 4676/L-03 		1 				1 
DECKE 4676/L-03 	5 		T200034 			0,45  				2 
DECKE 4676/L-03 	20 		T350022 			2  				2 
DECKE 4676/L-03 	25 		T390050 			0,03  				2 
DECKE 4676/L-03 	30 		T370082 			0,015 				2 
DECKE 4676/L-03 	35 		T490310-G 			0,25  				2 
DECKE 4676/L-03 	40 		T490147-G 			1  				2
fahmi.benrejab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2010, 14h34   #2
Rédacteur
 
Homme Salim
Développeur et DBA Oracle
Inscription : octobre 2006
Messages : 872
Détails du profil
Informations personnelles :
Nom : Homme Salim
Localisation : Canada

Informations professionnelles :
Activité : Développeur et DBA Oracle

Informations forums :
Inscription : octobre 2006
Messages : 872
Points : 1 100
Points : 1 100
Salut,

tu rajoute un order by siblings le nom de la colonne
Code :
1
2
 
ORDER SIBLINGS BY nom_de_ta_colonne
__________________
Publications: http://schelabi.developpez.com/
salim11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2010, 15h13   #3
Invité de passage
 
Inscription : février 2008
Messages : 12
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 12
Points : 4
Points : 4
Merci bien Salim11, ça marche
fahmi.benrejab 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 07h48.


 
 
 
 
Partenaires

Hébergement Web