|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : mars 2007 Messages : 10 ![]() |
Bonjour,
j'ai une table comme ça: Id A1 A2 A3 Nbre 1234 1 0 0 3 1234 1 0 1 2 1234 1 1 1 5 1235 1 0 0 6 1235 1 0 1 7 1235 1 1 1 8 à partir des données de la table précedente je veux créer une autre comme ça: Id B1 B2 B3 somme 1234 3 2 5 10 1235 6 7 8 21 c'est - à - dire: la combinaison (A1=1,A2=0,A3=0) me donne le type B1 la combinaison (A1=1,A2=0,A3=1) me donne le type B2 la combinaison (A1=1,A2=1,A3=1) me donne le type B3 Merci de vos aides :-). (j'arrive pas à voir l'astuce) |
|
|
00
|
|
|
#2 |
|
Membre éclairé
![]() Inscription : janvier 2006 Messages : 332 ![]() |
J'ai du mal à comprendre ce que tu veux faire...
|
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : mars 2007 Messages : 10 ![]() |
Ok j'ai résolu mon problème
test=*# select * from tab_a; id | a1 | a2 | a3 | cnt ------+----+----+----+----- 1234 | 1 | 0 | 0 | 4 1234 | 1 | 0 | 1 | 8 1234 | 1 | 1 | 1 | 5 1235 | 1 | 0 | 0 | 6 1235 | 1 | 0 | 1 | 7 1235 | 1 | 1 | 1 | 12 (6 rows) test=*# select id, b1,b2,b3, sum(b1+b2+b3) as s from (select id, sum(case when a1=1 and a2=0 and a3=0 then cnt else 0 end) as b1, sum(case when a1=1 and a2=0 and a3=1 then cnt else 0 end) as b2, sum(case when a1=1 and a2=1 and a3=1 then cnt else 0 end) as b3 from tab_a group by id order by id) foo group by id, b1, b2, b3 order by id; id | b1 | b2 | b3 | s ------+----+----+----+---- 1234 | 4 | 8 | 5 | 17 1235 | 6 | 7 | 12 | 25 (2 rows)
|
|
|
00
|
|
|
#4 |
|
Membre actif
![]() Développeur multimédia Inscription : avril 2007 Messages : 175 ![]() |
Même avec la réponse, j'ai du mal à cerner ce que tu veux faire. Mais si tu y es arrivé, tant mieux !!!!
Bravo !! |
|
|
00
|
|
|
#5 | |
|
Membre éclairé
![]() Inscription : janvier 2006 Messages : 332 ![]() |
Citation:
8o ?? |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com