Mettre des lignes en colonnes - SQL/NoSQL - Programmation
Marsh Posté le 23-11-2006 à 12:28:49
je serais toi, je ferai un select avec order by ID et un tri sur type.
Comme ça tu auras des lignes comme ça:
A 1
A 2
B 1
C 2
Tout n'aura plus que a faire des tests à l'affichage. Je ne voix pas d'autres solutions
Marsh Posté le 23-11-2006 à 12:48:18
Bonjour ami jemellien,
merci pour ta réponse mais je crains qu'elle ne m'aide pas beaucoup :-(
Je dois arriver absolument au résultat que j'avais mis dans ma question.
Voici ce que j'avais essayé :
Select t1.type, t2.type
from table t1, table t2
where t1.id = t2.id
and t1.type = 1 and t2.type = 2;
mais ca ne fonctionne que si j'ai toujours 2 lignes pour chaque ID. Ensuite pour avoir un OUI ou NON dans ma colonne j'aurai fait un CASE.
Est-ce un bon début?
Marsh Posté le 23-11-2006 à 13:55:39
donc, il se peut que l'on se connaisse! qui es-tu
As tu trouvé une solution? j'ai demandé autour de moi et ils ne voyent pas trop
Marsh Posté le 23-11-2006 à 23:03:42
un truc pas beau mais qui a le merite d'exister a 23h00
select a.id,nvl(b.flag,'NON'),nvl(c.flag,'NON')
from
(select distinct id
from t1) a,
(select distinct id,'OUI' flag
from t1
where type = 1) b,
(select distinct id,'OUI' flag
from t1
where type = 2) c
bon c'est tres moche et sur des enormes tables c'est code tout pourri, mais faut voir ta situation, perso je le ferai sans doute en sql dynamique mais faut voir tes data, puis db2 je n'y connais rien en optimisation.
Marsh Posté le 01-12-2006 à 21:36:50
Salut,
j'avais trouvé une solution mais pas trop eu le temps de la poster, je vous fais ca lundi.
chepa, je crois que je vois qui tu es effectivement, MP-moi si tu veux
Marsh Posté le 01-12-2006 à 22:06:42
Regarde si DB2 supporte le "full join".
SQL Server 2005 le supporte maintenant (il était temps, ça fait partie de SQL92 )
Ce qui donne une requête infiniment plus performante et plus jolie (bon, si on veut) :
|
|
Marsh Posté le 04-12-2006 à 20:57:59
Bien joué, très impressionnant.
Oui le FULL_OUTER_JOIN existe en DB2
Merci à toi
Marsh Posté le 23-11-2006 à 12:12:25
Bonjour, je suis sous DB2 et j'ai une table comme suit :
Table1.
ID TYPE
A 1
A 2
B 1
J'aimerai faire une requete qui me donne le résultat suivant :
ID FlagType1 FlagType2
A OUI OUI -> car l'ID A fait partie du type 1 et du type 2
B OUI NON -> car l'ID B fait partie dy type 1 mais pas du type 2
C'est pour faire une vue au final.
Merci pour votre aide