Prob -> Génération d'une table

Prob -> Génération d'une table - SQL/NoSQL - Programmation

Marsh Posté le 06-08-2005 à 01:01:38    

Bonjour à tous, voilà mon problème :
 
les tables :
 
Table                                            
-----------------------------------                
ID        |       NOM       |      GROUPE
---------------------------- -------        
1                    Sam                    A        
2                    Ben                     B          
3                    Joe                      B      
4                    Pierre                  A          
5                    Jean                    B
6                    Paul                    A
 
Ma problèmatique est de trouvé la requéte qui puisse me fournir la table suivante (les tables et données sont données à titre d'exemple.) :
 
Table2
------------------------------------------
ID         |      NOM     |       ID        |       NOM      
------------------------------------------  
1                    Sam                  2                    Ben  
4                    Pierre                3                    Joe  
6                    Paul                  6                    Jean  
 
C'est à dire de regrouper par groupe les personnes sur plusieurs colonnes.
Voilà ma premiere tentative :  
( SELECT ID, NOM FROM Table WHERE GROUPE LIKE 'A' )
UNION
( SELECT ID, NOM FROM Table WHERE GROUPE LIKE 'B' )
 
Mais cette requète me donne une table équivalente à un 'SELECT ID NOM FROM Table ORDER BY 'GROUPE' ASC
 
Pouvez m'aider à trouver une requète qui répondrait à mes besoins, MERCI.

Reply

Marsh Posté le 06-08-2005 à 01:01:38   

Reply

Marsh Posté le 06-08-2005 à 01:30:20    

En 1 requête, ca risque d'être dur :pt1cable:
En passant par des tables temporaires, ca devrait être bon [:figti]  
(mais c'est quoi l'intérêt :??: )


Message édité par mrbebert le 06-08-2005 à 01:32:50
Reply

Marsh Posté le 06-08-2005 à 01:31:43    

mrbebert a écrit :

Je vois pas trop comment tu répartis les données dans les 2 colonnes. Tu peux détailler ? :pt1cable:


Je les groupes par 'GROUPE'. a gauche c'est le groupe 'A' et à droite c'est le 'B'.

Reply

Marsh Posté le 06-08-2005 à 01:33:14    

Oui, finalement, j'ai compris avant que tu répondes :pt1cable:  :whistle:
 
On fait quoi si y a pas le même nombre de personnes dans chaque groupe ? On complète avec des champs NULL ?


Message édité par mrbebert le 06-08-2005 à 01:34:25
Reply

Marsh Posté le 06-08-2005 à 01:33:59    

Erreur pardon la table c'est celle là
 
Table2  
------------------------------------------  
ID         |      NOM     |       ID        |       NOM      
------------------------------------------  
1                    Sam                  2                    Ben    
4                    Pierre                3                    Joe  
6                    Paul                  5                    Jean    
 
Pardon.

Reply

Marsh Posté le 06-08-2005 à 01:35:40    

mrbebert a écrit :

On fait quoi si y a pas le même nombre de personnes dans chaque groupe ? On complète avec des champs NULL ?


Exactement.

Reply

Marsh Posté le 06-08-2005 à 01:57:23    

Il faut que ce soit une seule requête, ou on peut le faire en plusieurs étapes ?

Reply

Marsh Posté le 06-08-2005 à 02:00:03    

Une seule, ca présente mieux

Reply

Marsh Posté le 06-08-2005 à 02:04:43    

Là, je vois pas :(  
Faudrais que je teste un truc ou deux, mais j'ai pas de serveur sous la main [:proy]
 
Mon idée, ce serait d'isoler dans 2 tables distinctes les personnes de chaque groupe (avec des identifiants qui se suivent), puis faire la jointure entre les 2 sur cet identifiant.
En ajoutant aussi ceux qui n'ont pas d'équivalent dans l'autre groupe (car les 2 groupes n'ont pas forcément le même nombre de personnes), mais ca, ca pose pas de problème.
 
Faire tout ca en 1 requête, ca va être compliqué :pt1cable:


Message édité par mrbebert le 06-08-2005 à 02:09:21
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed