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 10/04/2009, 21h50   #1
Invité régulier
 
Inscription : avril 2009
Messages : 24
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : avril 2009
Messages : 24
Points : 7
Points : 7
Par défaut ORA-00921: unexpected end of SQL command

Voici ma requête
et franchement, c'est peut-etre la fatigue, mais je vois pas mon SELECT
l.description,
(
SELECT a1.first_name||' '||a1.last_name
FROM agents a1
WHERE a1.birth_date =
(SELECT MAX(a.birth_date) FROM agents a WHERE a.location_id = l.location_id )
),

(
SELECT a2.first_name||' '||a2.last_name
FROM agents a2
WHERE a2.birth_date =
(SELECT MIN(a.birth_date) FROM agents a WHERE a.location_id = l.location_id)
FROM
locations l
;
Mykhell est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/04/2009, 23h02   #2
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 389
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 389
Points : 9 496
Points : 9 496
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
Vous ne pouvez pas faire de requête scalaire qui renvoie plus d'une ligne.
Comme vous cherchez par location mais pour toutes les locations, ça ne fonctionne pas.

Essayez ceci :
Code :
1
2
3
4
5
6
7
8
SELECT DISTINCT
    l.description,
    max(a.first_name || ' ' || a.last_name) KEEP (DENSE_RANK LAST  ORDER BY birth_date ASC) OVER (PARTITION BY l.location_id) AS agent_jeune,
    max(a.first_name || ' ' || a.last_name) KEEP (DENSE_RANK FIRST ORDER BY birth_date ASC) OVER (PARTITION BY l.location_id) AS agent_vieux
FROM
    locations l
    INNER JOIN agents a
      ON a.location_id = l.location_id
Waldar est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 05h37.


 
 
 
 
Partenaires

Hébergement Web