Bonjour,

Je suis assez débutant dans SQL et je suis actuellement en train d'apporter des modifications sur une requête.

Je voulais concatener la colonne 1 et la colonne 3 dans la colonne 9, si la colonne 9 est vide.

Voici la requête :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
SELECT colonne1, colonne2, colonne3, colonne4, colonne5, colonne6, colonne7, colonne8, colonne9, colonne10, colonne11, colonne12, colonne13, colonne14, colonne15, colonne16, colonne17, colonne18
  from
(
select
h.doccode as colonne1, 
d.name as colonne2, 
TRIM(h.docnum) as colonne3,
to_char (h.inpdate, 'YYYYMMDD') as colonne4, 
l.el1 as colonne5, 
cpt.name as colonne6, 
l.el2 as colonne7, 
aux.name as colonne8, 
replace(replace(l.ref1,';','-'),'|','-')  as colonne9, 
to_char (h.docdate, 'YYYYMMDD') as colonne10,
replace(replace(h.descr,';','-'),'|','-') as colonne11,
ABS(l.valuehome) as colonne12, 
decode(l.deb_cred_ind,160,'C','D') as colonne13, 
pay.matchref as colonne14, 
to_char (l.paydate, 'YYYYMMDD') as colonne15, 
to_char (h.inpdate, 'YYYYMMDD') as colonne16, 
ABS(l.valuedoc) as colonne17, 
h.curdoc as colonne18

from tableA h , tableB l, tableC d, tableD cpt, tableE aux, TableF 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 l.el1 between '1000000' and '1500000'
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)
Merci d'avance de votre aide!