Précédent   Forum des professionnels en informatique > Bases de données > Oracle > SQL
SQL Forum d'entraide sur le SQL pour Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/09/2011, 16h04   #1
Membre habitué
 
Inscription : juin 2006
Messages : 487
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 487
Points : 136
Points : 136
Par défaut Problème avec concat()

Bonjour,

Voici ma requête sql :

Code :
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
 
 
DROP VIEW DOSMED.V_CHHF_LIST_PAT_SI1;
 
/* Formatted on 21/09/2011 15:23:17 (QP5 v5.136.908.31019) */
CREATE OR REPLACE FORCE VIEW DOSMED.V_CHHF_LIST_PAT_SI1
(
   TITRE,
   NOM,
   PRENOM,
   DTENAI,
   NUMCHAMBRE,
   COMPTERENDU,
   DTECRE
)
AS
   SELECT CASE TITRE
         WHEN 'Monsieur' then 'Mr'
         WHEN 'Madame' then 'Mme'
   END AS TITRE  || ' ' || NOM   || ' ' || PRENOM
          ,DTENAI,
           SUBSTR(NUMCHAMBRE,3),
          COMPTERENDU,
          DTECRE
     FROM (SELECT TITRE,
                  NOM,
                  PRENOM,
                  DTENAI,
                  NUMCHAMBRE,
                  COMPTERENDU,
                  DTECRE,
                  ROW_NUMBER ()
                     OVER (PARTITION BY NUMCHAMBRE ORDER BY DTECRE DESC)
                     rn
             FROM V_CHHF_LIST_PAT_SI)
    WHERE rn = 1;
Je voudrai concaténer le titre, non et prénom mais ça ne fonctionne pas !

Mon message d'erreur :

Code :
1
2
 
ORA-00923: FROM keyword NOT found WHERE expected
Merci
jacko842 est déconnecté   Envoyer un message privé Réponse avec citation 02
Vieux 21/09/2011, 16h33   #2
McM
Expert Confirmé Sénior
 
Inscription : juillet 2003
Messages : 3 440
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 3 440
Points : 4 183
Points : 4 183
Ca, c'est du débugage de requête où en cherchant 10 secondes on trouve.
Code :
1
2
3
4
SELECT CASE TITRE
         WHEN 'Monsieur' then 'Mr'
         WHEN 'Madame' then 'Mme'
   END AS TITRE  || ' ' || NOM   || ' ' || PRENOM
un alias doit toujours être placé à la fin.
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Vieux 22/09/2011, 14h44   #3
Membre habitué
 
Inscription : juin 2006
Messages : 487
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 487
Points : 136
Points : 136
Je dois obtenir le titre concaténé avec le nom et prénom .

J'ai essayé plusieurs choses mais sans succès .

Ex:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
 SELECT 
          DTENAI,
           SUBSTR(NUMCHAMBRE,3) AS N,
          COMPTERENDU,
          DTECRE,
          CASE TITRE
         WHEN 'Monsieur' then 'Mr'
         WHEN 'Madame' then 'Mme'
   END AS TITRE || ' ' || NOM || ' ' || PRENOM
     FROM (SELECT TITRE,
                  NOM,
                  PRENOM,
                  DTENAI,
                  NUMCHAMBRE,
                  COMPTERENDU,
                  DTECRE,
                  ROW_NUMBER ()
                     OVER (PARTITION BY NUMCHAMBRE ORDER BY DTECRE DESC)
                     rn
             FROM V_CHHF_LIST_PAT_SI)
    WHERE rn = 1
Citation:
un alias doit toujours être placé à la fin.
Pourriez vous me donner un exemple .

Merci
jacko842 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/09/2011, 15h19   #4
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 686
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 34
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en décisionnel
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2008
Messages : 5 686
Points : 10 431
Points : 10 431
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
Vous avez une erreur simple de syntaxe sur cette ligne :
Code :
   END AS TITRE || ' ' || NOM || ' ' || PRENOM
__________________
Email : http://scr.im/waldar
Waldar est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/09/2011, 15h31   #5
Membre habitué
 
Inscription : juin 2006
Messages : 487
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 487
Points : 136
Points : 136
Je me doute bien merci .

Mais je ne vois pas laquelle .
jacko842 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/09/2011, 15h36   #6
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 686
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 34
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en décisionnel
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2008
Messages : 5 686
Points : 10 431
Points : 10 431
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
Encore une aide, si vous ne trouvez pas je sors le biberon !
Citation:
Envoyé par McM Voir le message
un alias doit toujours être placé à la fin [de l'expression qu'il qualifie].
__________________
Email : http://scr.im/waldar
Waldar est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/09/2011, 15h43   #7
Membre confirmé
 
Homme Grégoire MARTIN
Ingénieur développement logiciels
Inscription : janvier 2011
Messages : 128
Détails du profil
Informations personnelles :
Nom : Homme Grégoire MARTIN
Âge : 32
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Finance

Informations forums :
Inscription : janvier 2011
Messages : 128
Points : 225
Points : 225
Bonjour,

enlève le et met le à la fin

Code :
END  || ' ' || NOM || ' ' || PRENOM  AS TITRE
__________________
Cordialement.
ORA-007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/09/2011, 15h44   #8
Membre habitué
 
Inscription : juin 2006
Messages : 487
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 487
Points : 136
Points : 136
Je ne comprends pas désolé ceci fonctionne :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
SELECT CASE TITRE
             WHEN 'Monsieur' THEN 'Mr'
             WHEN 'Madame' THEN 'Mme'
          END
             AS TITRE,
          NOM,
          PRENOM,
          DTENAI,
          SUBSTR (NUMCHAMBRE, 3),
          COMPTERENDU,
          DTECRE
     FROM (SELECT TITRE,
                  NOM,
                  PRENOM,
                  DTENAI,
                  NUMCHAMBRE,
                  COMPTERENDU,
                  DTECRE,
                  ROW_NUMBER ()
                     OVER (PARTITION BY NUMCHAMBRE ORDER BY DTECRE DESC)
                     rn
             FROM V_CHHF_LIST_PAT_SI)
    WHERE rn = 1;
Je voudrai juste faire une concaténation du titre avec le nom et le prénom .

Citation:
si vous ne trouvez pas je sors le biberon !
Je suis la pour apprendre
jacko842 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/09/2011, 15h45   #9
Membre habitué
 
Inscription : juin 2006
Messages : 487
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 487
Points : 136
Points : 136
Hen ok maintenant pour la prochaine fois je le saurai .
C'est vrai que c est plus logique comme ça

Merci
jacko842 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h24.


 
 
 
 
Partenaires

Hébergement Web