Conseil aide requete sql

Conseil aide requete sql - SQL/NoSQL - Programmation

Marsh Posté le 27-06-2011 à 14:47:47    

Bonjour,
 
J'ai une table sur laquelle je dois retravailler sa structure. J'aurais besoin d'avis d'experts avant de commencer à traiter cette table. Je m'explique, ma table se structure de la façon suivante :
 
TABLE1
Nom   | Prenom  | Code
TOTO | TOTOR   | M-985
TOTO | TOTOR   | T-910
 
Je dois dissocier les codes en M et T dans la colonne Code dans deux colonnes distinctes CodeM et CodeT. Mon idée serait de créer 2 colonnes dans la table Table1 qui seront CodeM et CodeT. De dupliquer cette Table1 en Table2 et de faire la jointure avec Table1 pour mettre les codes en M et en T dans les bonnes colonnes.
 
Je me demandais si il n'y aurait pas une façon plus simple de faire avec une requête SQL. Qu'en pensez vous ?
 
Merci.

Reply

Marsh Posté le 27-06-2011 à 14:47:47   

Reply

Marsh Posté le 27-06-2011 à 21:38:58    

Tu peux faire un filtre sur table1 pour isoler les codes en M, un autre pour les codes en T et faire une jointure depuis la table1 vers chacune de ces 2 "tables".

Code :
  1. SELECT table1.Nom, table1.Prenom, IFNULL(table_m.Code, '?'), IFNULL(table_t.Code, '?')
  2. FROM table1
  3. LEFT JOIN (
  4.   SELECT Nom, Prenom, Code FROM table1 WHERE Code LIKE 'M%'
  5. ) table_m ON table_m.Nom=table1.Nom AND table_m.Prenom=table1.Prenom
  6. LEFT JOIN (
  7.   SELECT Nom, Prenom, Code FROM table1 WHERE Code LIKE 'T%'
  8. ) table_t ON table_t.Nom=table1.Nom AND table_t.Prenom=table1.Prenom


 
Après, tout dépend de ce que tu veux faire en cas de doublons ou d'absence d'un code.


---------------
Doucement le matin, pas trop vite le soir.
Reply

Sujets relatifs:

Leave a Replay

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