[ORACLE] problème requête (pour les chauds du SQL)

problème requête (pour les chauds du SQL) [ORACLE] - SQL/NoSQL - Programmation

Marsh Posté le 23-06-2008 à 17:32:11    

Bonjour,
 
J'ai un problème avec un alias (AS trajet ici), je vous copie/colle la requête :
 

Code :
  1. SELECT * FROM ( SELECT
  2.             missions.*,
  3.             CONCAT(CONCAT(profil_voyageur.nom, ' '), profil_voyageur.prenom) AS nom_voyageur,
  4.             CASE
  5.              WHEN missions.nb_segments < 1
  6.               THEN 'Pas de trajet pr&eacute;cis&eacute;'
  7.              WHEN missions.nb_segments > 2
  8.               THEN 'Circulaire'
  9.              ELSE CONCAT(CONCAT(CONCAT(CONCAT(CONCAT(CONCAT(geo_villes.libelle, ', '), geo_pays.libelle), '<br />'), geo_villes.libelle), ', '), geo_pays.libelle)
  10.             END AS trajet,
  11.             TO_CHAR(date_depart, 'dd/mm/yyyy') as date_depart_fr,
  12.             row_number() over (ORDER BY trajet ASC ) numline
  13.             FROM  missions
  14.             LEFT JOIN profil_voyageur  ON (missions.uid_voyageur = profil_voyageur.uid_agent)
  15.             LEFT JOIN geo_villes  ON (missions.id_ville_depart = geo_villes.id AND missions.id_ville_arrivee = geo_villes.id)
  16.             LEFT JOIN geo_pays  ON (geo_villes.id_pays = geo_pays.id)
  17.           WHERE  missions.id_uo = 13100017 AND missions.date_creation >= '01-06-2008' AND missions.date_creation <= '30-06-2008'
  18.           ORDER
  19.            BY  trajet ASC ) WHERE numline BETWEEN 91 AND  100


 
 
Il ne me reconnait dont pas trajet comme un alias, quelle est la solution ?
 
Merci d'avance


Message édité par krovomi le 23-06-2008 à 17:47:57
Reply

Marsh Posté le 23-06-2008 à 17:32:11   

Reply

Marsh Posté le 24-06-2008 à 10:43:22    

UP

Reply

Marsh Posté le 24-06-2008 à 22:33:58    

peut être un problème de syntaxe. Parenthèses pour encadrer le case pour qu'il sache que le résultat doit être vu par l'alias?
 
testes ca et reviens avec un message d'erreur si ca marche pas :D

Reply

Marsh Posté le 25-06-2008 à 13:52:10    

pas de group by sur les aliases en oracle, mets le en 1er champ et fais un order by 1

Reply

Marsh Posté le 01-07-2008 à 17:43:11    

c'est surtout le missions.* qui me fait dégueuler tout ce que j'ai bouffé depuis le début de l'année. (genre ça fait un krovomi)
 
comment j'ai envie de mettre ma main à couper que t'as un champ "trajet" dans ta table missions... j'en pleure déjà de rire :o
 
quand je dis que les étoiles c'est de la merde :o
 
ps casimimir : y'a pas de group by dans sa requête ;)
 
et le order by 1 marchera effectivement s'il fout son missions.* à la fin de la requête, mais ça n'en reste pas moins dégueux ;)


Message édité par MagicBuzz le 01-07-2008 à 17:45:24
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed