quelle fonction utiliser?

quelle fonction utiliser? - SQL/NoSQL - Programmation

Marsh Posté le 19-06-2008 à 17:29:18    

Bonjour,
j'ai un problème avec ma base de données, je m'explique :
J'ai deux tables construites comme ceci :
table 1 (idtable,NumSysteme,User,Profile)
table 2(idtable,NumSystem,Prof,subprof)
 
le champ profile de la table 1 correspond aux profiles des utilisateurs mais il existe des profiles composé qui sont des profiles rassemblant plusieurs sous profil. Ces sous profils correspondent aux champs subprof de la table 2.
 
J'aimerai remplacé les données du champs profile de la table 1, si le profile se trouve dans la table 2. En gros ça donnerait : si table1.Profile = table2.prof alors je remplace le profile par subprof.
Cependant, un prof de la table 2 peut avoir plusieurs subprof et donc je vais devoir remplacer plusieurs fois profile de la table 1 par un subprof (en gardant la meme ligne mais en changeant seulement le subprof).
 
Pour faire tout ça, j'ai pensé à la fonction MERGE sql mais je n'arrive pas à l'utiliser, donc si quelqu'un pouvait m'aider à le faire ou meme me proposer une autre solution ce serait sympa...
 
Merci d'avance.

Reply

Marsh Posté le 19-06-2008 à 17:29:18   

Reply

Marsh Posté le 19-06-2008 à 17:34:50    

Je ne comprends absolument rien à la question...[:pingouino]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 19-06-2008 à 20:03:16    

lol j'ai du mal m'exprimer, c'est pas grave j'ai reussi à regler ce probleme avec un inner join, merci quand meme.

Reply

Marsh Posté le 20-06-2008 à 14:25:11    

create table3 as
select table1.idtable, table2.idtable, table1.numsystem, table1.user, nvl(table2.subprof, table1.profile) profile
from table1
left outer join table2 on table2.prof = table1.prof;


Message édité par MagicBuzz le 20-06-2008 à 14:25:34
Reply

Sujets relatifs:

Leave a Replay

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