Bonjour,

Je crée une vue sous oracle comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
create or replace view vue_chauffeur(CalcPceColisagePerso,Date_BE,Code_Pro) as select sum(case when iad.unite_commande='C' then
iad.qte_commande*nvl(to_number(nvl(cpdc.colis_p,0),'9999.99'),0) else
iad.qte_commande*nvl(pdt.unite_colisage,0) end) as CalcPceColisagePerso,
iae.date_be, iad.code_pro
from import_archives_detail iad, import_archives_entete iae, produit pdt, cadenciers_perso_det cpd, import_archives_detail_cpl iadc, cadenciers_perso_det_compl cpdc
where iae.num_cde=iad.num_cde and iae.code_cli=iad.code_cli and iad.num_rayon=iae.num_rayon and iad.code_pro=pdt.code_pro
and iad.x_id_ligne_televente=iadc.x_id_ligne_televente and iadc.d_id_cad_perso_det=cpd.id_cad_perso_det and cpd.id_cad_perso_det=cpdc.id_cad_perso_det_c
and iae.date_be=110516 group by iae.date_be, iad.code_pro;
La vue se crée sans soucis.
Mais la requête select me donne une erreur :

select * from vue_chauffeur
*
ERREUR à la ligne 1 :
ORA-01722: Nombre non valide

A savoir que la table cadenciers_perso_det_c n'a pas toujours un nombre correspondant au produit sur lequel je fais le calcul.
Et même avec une jointure (+) entre cpd et cpdc même erreur.

Quelqu'un pourrait il m'éclairer???

Merci beaucoup!