Bonjour,

Voici ma 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
 
CREATE OR REPLACE VIEW TEST1
(TITRE, NOM, PRENOM, DTECRE, DTENAI, 
 NUMCHAMBRE, COMPTERENDU, RNK)
AS 
WITH tmp AS (
SELECT TITRE, NOM, PRENOM,dtecre,DTENAI,NUMCHAMBRE,COMPTERENDU,dense_rank() over(partition BY p.numpat ORDER BY dtecre ASC) AS rnk
   FROM glit_situation s
 INNER JOIN patients p ON p.numpat = s.numpat
  LEFT OUTER JOIN objets x ON (x.numpat=s.numpat AND x.NUMSERV = 41) 
 WHERE numus = 208 
   AND NUMDESCRIPTION = 20029 
   AND DEFFEN = 20021 
   AND COMPTERENDU LIKE '179%')
 
SELECT "TITRE","NOM","PRENOM","DTECRE","DTENAI","NUMCHAMBRE","COMPTERENDU","RNK" 
FROM tmp
WHERE rnk = 1
Je voudrais concaténer mes champs Titre, nom, prénom en 1 seul champ Titre.
J'ai essayé ceci :


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
 
CREATE OR REPLACE VIEW TEST1
(TITRE, NOM, PRENOM, DTECRE, DTENAI, 
 NUMCHAMBRE, COMPTERENDU, RNK)
AS 
WITH tmp AS (
SELECT TITRE, NOM, PRENOM,dtecre,DTENAI,NUMCHAMBRE,COMPTERENDU,dense_rank() over(partition BY p.numpat ORDER BY dtecre ASC) AS rnk
   FROM glit_situation s
 INNER JOIN patients p ON p.numpat = s.numpat
  LEFT OUTER JOIN objets x ON (x.numpat=s.numpat AND x.NUMSERV = 41) 
 WHERE numus = 208 
   AND NUMDESCRIPTION = 20029 
   AND DEFFEN = 20021 
   AND COMPTERENDU LIKE '179%')
 
SELECT "TITRE"||"NOM" || "PRENOM" as "titre","DTECRE","DTENAI","NUMCHAMBRE","COMPTERENDU","RNK" 
FROM tmp
WHERE rnk = 1
Ou ça

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
WITH tmp AS (
SELECT TITRE || NOM || PRENOM as titre1 ,dtecre,DTENAI,NUMCHAMBRE,COMPTERENDU,dense_rank() over(partition BY p.numpat ORDER BY dtecre ASC) AS rnk
   FROM glit_situation s
 INNER JOIN patients p ON p.numpat = s.numpat
  LEFT OUTER JOIN objets x ON (x.numpat=s.numpat AND x.NUMSERV = 41) 
 WHERE numus = 208 
   AND NUMDESCRIPTION = 20029 
   AND DEFFEN = 20021 
   AND COMPTERENDU LIKE '179%')
 
SELECT "titre1","DTECRE","DTENAI","NUMCHAMBRE","COMPTERENDU","RNK" 
FROM tmp
WHERE rnk = 1
Mais sans succès ...

D'avance merci