adilson | Bonjour, Je suis assez débutant sur SQL Developper et j'aimerai avoir votre aide svp.
Dans une requête
Code :
- SELECT Donnée1, Donnée2, Donnée3, Donnée4, Donnée5, Donnée6, Donnée7, Donnée8, Donnée9, Donnée10, Donnée11, Donnée12, Donnée13, Donnée14, Donnée15, Donnée16, Donnée17, Donnée18
- from
- (
- select
- h.doccode as Donnée1,
- d.name as Donnée2,
- TRIM(h.docnum) as Donnée3,
- to_char (h.inpdate, 'YYYYMMDD') as Donnée4,
- l.el1 as Donnée5,
- cpt.name as Donnée6,
- l.el2 as Donnée7,
- aux.name as Donnée8,
- NVL (concat(h.doccode, h.docnum), l.ref1) as Donnée9,
- to_char (h.docdate, 'YYYYMMDD') as Donnée10,
- replace(replace(h.descr,';','-'),'|','-') as Donnée11,
- ABS(l.valuehome) as Donnée12,
- decode(l.deb_cred_ind,160,'C','D') as Donnée13,
- pay.matchref as Donnée14,
- to_char (l.paydate, 'YYYYMMDD') as Donnée15,
- to_char (h.inpdate, 'YYYYMMDD') as Donnée16,
- ABS(l.valuedoc) as Donnée17,
- h.curdoc as Donnée18
- from Table1 h , Table2 l, Table3 d, Table4 cpt, Table5 aux, Table6 pay
- where h.cmpcode=l.cmpcode
- and h.cmpcode=d.cmpcode
- and h.cmpcode=cpt.cmpcode
- and h.cmpcode=aux.cmpcode
- and l.cmpcode=pay.cmpcode(+)
- and l.doccode=pay.doccode(+)
- and l.docnum=pay.docnum(+)
- and l.doclinenum=pay.doclinenum(+)
- and h.yr=2011
- and h.inpdate < '20/01/2011'
- and h.doccode=l.doccode
- and h.docnum=l.docnum
- and h.doccode=d.code
- and cpt.code=l.el1
- and cpt.elmlevel=1
- and aux.code=l.el2
- and aux.elmlevel=2
- order by inpdate);
|
Mon premier problème au niveau de cette ligne :
Code :
- NVL (concat(h.doccode, h.docnum), l.ref1) as Donnée9,
|
Je veux que : Si Donnée9 est vide, concaténer doccode et docnum.
Mais le problème c'est qu'il fait un concaténer pour toutes les colonnes Donnée9 même ceux qui présentent une valeur.
Mon second problème au niveau de cette ligne :
Code :
- ABS(l.valuedoc) as Donnée17,
|
Ce que je veux, c'est qu'il me prend la valeur absolue de Donnée17 avec les décimales.
Mais le problème c'est qu'il ne prend pas les décimales, mais que les entiers.
Pouvez-vous m'aider svp ?
Merci d'avance |