|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : novembre 2007 Messages : 37 ![]() |
bonjour,
je souhaite faire une requête qui, dans la clause select, utilise comme colonne des sous-interrogation scalaire. Je retrouve les bonnes informations, seulement celles-ci sont dupliquées. Il s'agit, à partir de ces 2 tables, afficher les ventes effectuées pour chaque client et pour chacun des 4 trimestres de l'année. mes tables: sales_order(ORDER_ID ,ORDER_DATE,CUSTOMER_ID,TOTAL) customer(CUSTOMER_ID,CREDIT_LIMIT) ma requête: Code :
|
||
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé Sénior
![]() Inscription : juillet 2003 Messages : 3 453 ![]() |
Il y a plus simple, en utilisant DECODE
Code :
Attention au DISTINCT : Si tu as 2 lignes identiques mais que c'est normal, la seconde n'est pas prise en compte. => DISTINCT : A n'utiliser que dans des cas particuliers. EDIT : On peut rajouter le group par customer_id (s'ils 2 customer_id ont le même nom)
__________________
More Code : More Bugs. Less Code : Less Bugs |
||
|
|
00
|
|
|
#3 | ||||
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
Code :
so1.total IN (SELECT so1.total FROM sales_order so1 WHERE so1.customer_id=c.customer_id AND to_char(so1.order_date, 'Q')=1) Code :
so1.customer_id=c.customer_id AND to_char(so1.order_date, 'Q')=1 ![]() Ca donne quoi ça ? Code :
Code :
|
||||
|
|
00
|
|
|
#4 | ||||
|
Candidat au titre de Membre du Club
![]() Inscription : novembre 2007 Messages : 37 ![]() |
sur le même principe mais pour calculer le montant moyen des ventes par client et par trimestre:
ma requête: Code :
Code :
|
||||
|
|
00
|
|
|
#5 |
|
Expert Confirmé Sénior
![]() Inscription : juillet 2003 Messages : 3 453 ![]() |
Remplace le 0 par null
Et supprime ce DISTINCT (inutile sur un group by)
__________________
More Code : More Bugs. Less Code : Less Bugs |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com