Mile V > il me faut les deux sur la même ligne.
Mais ca y est.. je crois ke j'ai trouvé
trop [G]heureux[/g] !!!
Vous pouvez pas savoir... Ca faisait pres d'une semaine ke jetais dessus..
Vous voulez la voir ?
Mais elle est tres tres longue... Car je vous fais un copie/coller et donc elle est complète (j'ai rien retiré)
Maintenant, faudrait ke kkun me dise si elle fait bien ce que je veux... une sore de correction koi
Voici ma requete si ca interesse tjrs kkun
SELECT
p.pers_id,
DECODE(p.priority_id,'0','0','1') priorite,
p.rela_id,
DECODE(concat(concat(DECODE(rtrim(p.pers_lname),null,'',rtrim(p.pers_lname)),' '),DECODE(rtrim(p.pers_fname),null,'',rtrim(p.pers_fname))),' ','---',concat(concat(DECODE(rtrim(p.pers_lname),null,'',rtrim(p.pers_lname)),' '),DECODE(rtrim(p.pers_fname),null,'',rtrim(p.pers_fname)))) full_name,
DECODE(p.pers_private_phone,null,DECODE(p.pers_office_phone,null,DECODE(p.pers_mobil_phone,null,'0','1'),'1'),'1') telephone,
DECODE(p.pers_email,null,'0','1') email,
DECODE(p.pers_prospect,'2','1','0') internet,
o_con.oper_id operation_de_contact,
o_rel.oper_id operation_de_relance,
o_rel.oper_realisation_date date_de_relance,
ot_rel.oper_type_description motif_de_relance,
DECODE(t1.date_contact,null,'NA',concat(concat(rtrim(ot_con.oper_type_description),'/'),rtrim(s_con.status_short_label))) precedente,
o_con.operation_date derniere_date,
o_rel.operation_date relance_date,
max(o_rel.oper_realisation_date) max_date_de_relance,
p.pers_prospect
FROM
person p,
operation o_rel,
operation_type ot_rel,
operation_group og_rel,
operation o_con,
operation_type ot_con,
operation_group og_con,
status s_con,
(
SELECT
o1.oper_pers_id,
max(o1.operation_date) date_relance,
max(o2.operation_date) date_contact
FROM
operation o1,
operation_type ot1,
operation o2,
operation_type ot2,
operation_group og2,
status s2
WHERE
-- opération de derniere relance
-- critères de sélection de l'opération de relance
o1.affected_user_id=82
AND o1.oper_type_id=ot1.oper_type_id
AND ot1.oper_group_id=og2.oper_group_id
AND o1.oper_realisation_date is not null
AND o1.oper_realisation_date <= sysdate
-- opératon de dernier contact
-- critères de sélection de l'opération de relance
AND o2.oper_pers_id(+)=o1.oper_pers_id
AND o2.affected_user_id=o1.affected_user_id
-- status de l'opération (différent de 'Lancé')
AND o2.oper_last_status_id=s2.status_id
AND lower(s2.status_short_label)<>'lancé'
AND o2.oper_type_id=ot2.oper_type_id
AND ot2.oper_group_id=og2.oper_group_id
-- type d'opération : relance
AND lower(og2.oper_group_description)='relance'
GROUP BY
o1.oper_pers_id
HAVING
max(o2.operation_date)<=max(o1.operation_date)
) t1
WHERE
p.pers_id=t1.oper_pers_id
-- opération de relance
-- critères de sélection de l'opération de relance
AND o_rel.affected_user_id=p.pers_affected_user_id
AND o_rel.oper_pers_id=t1.oper_pers_id
AND o_rel.operation_date=t1.date_relance
AND o_rel.oper_type_id=ot_rel.oper_type_id
AND ot_rel.oper_group_id=og_rel.oper_group_id
AND lower(og_rel.oper_group_description)='relance'
-- opératon de contact
-- critères de sélection de l'opération de relance
AND o_con.oper_pers_id=o_rel.oper_pers_id
AND o_con.affected_user_id=o_rel.affected_user_id
AND o_con.operation_date=t1.date_contact
-- status de l'opération
AND o_con.oper_last_status_id=s_con.status_id
AND lower(s_con.status_short_label)<>'lancé'
AND o_con.oper_type_id=ot_con.oper_type_id
AND ot_con.oper_group_id=og_con.oper_group_id
AND lower(og_con.oper_group_description)='relance'
GROUP BY
p.pers_id,
DECODE(p.priority_id,'0','0','1'),
p.rela_id,
DECODE(concat(concat(DECODE(rtrim(p.pers_lname),null,'',rtrim(p.pers_lname)),' '),DECODE(rtrim(p.pers_fname),null,'',rtrim(p.pers_fname))),' ','---',concat(concat(DECODE(rtrim(p.pers_lname),null,'',rtrim(p.pers_lname)),' '),DECODE(rtrim(p.pers_fname),null,'',rtrim(p.pers_fname)))),
DECODE(p.pers_private_phone,null,DECODE(p.pers_office_phone,null,DECODE(p.pers_mobil_phone,null,'0','1'),'1'),'1'),
DECODE(p.pers_email,null,'0','1'),
DECODE(p.pers_prospect,'2','1','0'),
o_con.oper_id,
o_rel.oper_id,
o_rel.oper_realisation_date,
ot_rel.oper_type_description,
DECODE(t1.date_contact,null,'NA',concat(concat(rtrim(ot_con.oper_type_description),'/'),rtrim(s_con.status_short_label))),
o_con.operation_date,
o_rel.operation_date,
p.pers_prospect
ORDER BY
date_de_relance desc,
full_name asc
Désolé pour les smileys...