Probleme de selection sur les dates sous Oracle 10g
Salut à tous,
Tout d’abord mes excuses pour le long texte, car j’ai essayé en vain d’expliquer mon Probleme brevement.
ja travaille sur un project de bilan je dois faire une selection sur les données dans une tabe contenant
Société fabriquant des médicaments
1- un Employé nommé A obtient de temps en temps de la sté les produits à offrir aux medecins = Livraison
2- Apres avoir obtenu les produits, il visite les medecins et leur offre certains de ses Produits en fonction de leur spécialisation = Remise
3- Ensuite il doit faire son Bilan pour dire le nombre de produit donc il en dispose encore = Stock.
Les données du Stock coontienne une Colonne Quartal qui est donné manuellement et ne coincide pas toujours avec le Quartal que nous connaissons(voir table).
exemple de donné de la table de fait pour l’employé A :
Employé | Nombre | Type | Date | Quartal
A | 50 | Livraison | 1.01.2008 NV
A | 2 | Remise | 10.01.2008 | NV
A | 8 | Remise | 15.01.2008 | NV
A | 4 | Remise | 10.02.2008 | NV
A | 6 | Remise | 10.12.2008 | NV
A | 10 | Remise | 15.02.2009 | NV
A | 20 | Stock 19.01.2009 Q4-2008
Les données du Stock est livré avec un Quartal fixé et ne peut etre calculé selon la formule du quartal que nous connaissons. Il doit servir seulement comme « Label » ou Orientation pour l’employé qui veut visualiser son bilan.
Pour faire le bilan, je dois partir de la date du stock et afficher la Livraison, les remises. Je voudrais donc realiser un rapport comme celui ci sous cognos 8, mais avant tous il faut d'abord faire la selection des données avec Oracle. J’ai un probleme avec les dates.
Exemple bilan employé A du Quartal Q4-2008(19.01.2009)
Nombre Type Date
50 Livraison 1.01.2008
2 Remise 10.01.2008
8 Remise 15.01.2008
4 Remise 10.02.2008
6 Remise 10.12.2008
30 Stock 19.01.2009
Question :
Comment faire avec Oracle 10 g une selection sur les donné et afficher la Livraison et les Remises qui ont eu lieu jusqu’au 19.01.2009, date à laquelle L’employée A à fait son Bilan. ?
Voici mon Idée, mais j’obtient une faute
ORA-01427: single-row subquery returns more than one row.
Code:
1 2 3 4 5 6 7
| SELECT DISTINCT F_DATE, F_QUARTAL
FROM F_Table
WHERE fst_type = 'Stock'
and F_DTIME_ID < (select distinct F_DTIME_ID FROM F_Table
where f_type = 'Livraison' )
and and F_DTIME_ID < (select distinct F_DTIME_ID FROM F_Table
where f_type = 'Remise' ) |
Si quelqu’un à une idée, je suis preneuse.
Merci
Fiona