Bonjour à tous,

J'ai une requête du style
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
SELECT a.champ1,b.champ2 
from table1 a
join table2 b on a.champ1=b.champ1
group by a.champ1,b.champ2
champ1 est un int, champ2 est un blob (pas un LongRows)

Oracle ne veut pas des DISTINCT sur les blob (ce qui est compréhensible)

j'ai donc écris

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
select * from (SELECT a.champ1 
from table1 a group by a.champ1) frs
join (select b.champ1,b.champ2 from table2 b) frt on frs.champ1=frt.champ1
j'ai donc mon distinct sur la table a et ma jointure sur b fonctionne, donc le résultat est bon

seulement je retourne 2 fois le champ1
donc je fais

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
select ch1,ch3 from (select a.champ1 as ch1,b.champ1 as ch2,b.champ2 as ch3   from (SELECT a.champ1 
from table1 a group by a.champ1) frs
join (select b.champ1,b.champ2 from table2 b) frt on frs.champ1=frt.champ1)
la tout est OK mais c'est pas beau.

quelqu'un connaitrait-il une astuce pour rendre la requête plus "propre"

merci