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/12/2007, 22h18   #1
Candidat au titre de Membre du Club
 
Inscription : novembre 2007
Messages : 37
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 37
Points : 14
Points : 14
Par défaut pb clause select

bonjour,
j'ai une requête a effectuer mais je ne parviens toujours pas à resoudre le problème...

mes tables:
sales_order(ORDER_ID ,ORDER_DATE,CUSTOMER_ID,TOTAL)
customer(CUSTOMER_ID,CREDIT_LIMIT)

voici ma requête:
Code :
1
2
3
4
5
6
7
8
 
SELECT DISTINCT c.name AS "name",
(SELECT s.total FROM sales_order s WHERE s.customer_id=c.customer_id AND to_char(s.order_date, 'Q')=1) AS "1st",
(SELECT s.total FROM sales_order s WHERE s.customer_id=c.customer_id AND to_char(s.order_date, 'Q')=2) AS "2nd",
(SELECT s.total FROM sales_order s WHERE s.customer_id=c.customer_id AND to_char(s.order_date, 'Q')=3) AS "3rd",
(SELECT s.total FROM sales_order s WHERE s.customer_id=c.customer_id AND to_char(s.order_date, 'Q')=4) AS "4th"
FROM customer c, sales_order s
WHERE c.customer_id=s.customer_id;
erreur:
ORA-01427: single-row subquery returns more than one row
bb5477 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2007, 09h44   #2
Membre Expert
 
Avatar de Garuda
 
Homme Philippe CHIRCOP
Chef de projet
Inscription : juin 2007
Messages : 1 109
Détails du profil
Informations personnelles :
Nom : Homme Philippe CHIRCOP
Localisation : France

Informations professionnelles :
Activité : Chef de projet
Secteur : Bâtiment

Informations forums :
Inscription : juin 2007
Messages : 1 109
Points : 1 559
Points : 1 559
Code :
1
2
3
4
5
6
7
select distinct c.name as "name",
(select sum(s.total) from sales_order s where s.customer_id=c.customer_id and to_char(s.order_date, 'Q')=1 ) as "1st",
(select sum(s.total) from sales_order s where s.customer_id=c.customer_id and to_char(s.order_date, 'Q')=2) as "2nd",
...
from customer c, sales_order s
where c.customer_id=s.customer_id;
__________________
Garuda गरूड
Brahmâ la Guerre et Vishnu la Paix

Oracle 10.2.0.4 - Forms6i patch 17 - Toad 11.1 - sharePoint 2010
Garuda 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 13h02.


 
 
 
 
Partenaires

Hébergement Web