SQL Mettre des ligne dans des colonne
Résolu
big-66
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
-
big-66 Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
big-66 Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Sql transposer ligne en colonne
- Partager photos en ligne - Guide
- Déplacer colonne excel - Guide
- Trier colonne excel - Guide
- Mètre en ligne - Guide
- Colonne word - Guide
3 réponses
Salut,
J'utiliserais une jointure externe, exemple sous oracle :
insert into new_table
select u.id_users,u.nom, nvl(p1.profile,0),nvl(p2.profile,0),nvl(p3.profile,0),nvl(p4.profile,0)
from users u, profile p1, profile p2, profile p3, profile p4
where u.id_users=p1.id_users(+) and
u.id_users=p2.id_users(+) and
u.id_users=p3.id_users(+) and
u.id_users=p4.id_users(+)
cdlt
J'utiliserais une jointure externe, exemple sous oracle :
insert into new_table
select u.id_users,u.nom, nvl(p1.profile,0),nvl(p2.profile,0),nvl(p3.profile,0),nvl(p4.profile,0)
from users u, profile p1, profile p2, profile p3, profile p4
where u.id_users=p1.id_users(+) and
u.id_users=p2.id_users(+) and
u.id_users=p3.id_users(+) and
u.id_users=p4.id_users(+)
cdlt
Merci pour votre réponse j'ai du modifier un peut votre code car je travaille en MYsql j'ai mis ça :
insert into new_table
select u.id_users,u.nom, if(p1.profile=1,p1.profile,0),if(p2.profile=2,p2.profile,0),if(p3.profile=3,p3.profile,0),if(p4.profile=4,p4.profile,0)
from users u, profile p1, profile p2, profile p3, profile p4
where u.id_users=p1.id_users and
u.id_users=p2.id_users and
u.id_users=p3.id_users and
u.id_users=p4.id_users
mais j'ai des ligne qui sont afficher plusieurs fois avec des combinaisons différentes sur les profiles.
genre :
1|toto|p1|p2|0|P4
1|toto|0|p2|p3|0
insert into new_table
select u.id_users,u.nom, if(p1.profile=1,p1.profile,0),if(p2.profile=2,p2.profile,0),if(p3.profile=3,p3.profile,0),if(p4.profile=4,p4.profile,0)
from users u, profile p1, profile p2, profile p3, profile p4
where u.id_users=p1.id_users and
u.id_users=p2.id_users and
u.id_users=p3.id_users and
u.id_users=p4.id_users
mais j'ai des ligne qui sont afficher plusieurs fois avec des combinaisons différentes sur les profiles.
genre :
1|toto|p1|p2|0|P4
1|toto|0|p2|p3|0
voila c'est bon j'ai réglé mon problème :
insert into new_table
select u.id_users,u.nom, if(p1.profile=1,p1.profile,0),if(p2.profile=2,p2.profile,0),if(p3.profile=3,p3.profile,0),if(p4.profile=4,p4.profile,0)
from users u, profile p1, profile p2, profile p3, profile p4
where u.id_users=p1.id_users and
u.id_users=p2.id_users and
u.id_users=p3.id_users and
u.id_users=p4.id_users
ON DUPLICATE KEY UPDATE
profiles1 = IFNULL(profiles1,0),
profiles2 = IFNULL(profiles2,0),
profiles3 = IFNULL(profiles3,0),
profiles4 = IFNULL(profiles4,0)
Merci jee pee Pour ton aide.
insert into new_table
select u.id_users,u.nom, if(p1.profile=1,p1.profile,0),if(p2.profile=2,p2.profile,0),if(p3.profile=3,p3.profile,0),if(p4.profile=4,p4.profile,0)
from users u, profile p1, profile p2, profile p3, profile p4
where u.id_users=p1.id_users and
u.id_users=p2.id_users and
u.id_users=p3.id_users and
u.id_users=p4.id_users
ON DUPLICATE KEY UPDATE
profiles1 = IFNULL(profiles1,0),
profiles2 = IFNULL(profiles2,0),
profiles3 = IFNULL(profiles3,0),
profiles4 = IFNULL(profiles4,0)
Merci jee pee Pour ton aide.