Requete sans resultat

Messages postés
18
Date d'inscription
jeudi 19 novembre 2009
Statut
Membre
Dernière intervention
25 septembre 2017
-
Bonjour,

J'ai une requete SQL qui tourne a l'infinie. Je suis un peu perdue j'aimerais avoir un regard externe: je n'ai aucun message d'erreur, mais ma requete tourne depuis plus de 3 heures sans resultat

select '237'||a.msisdn
from
(select msisdn from FACT_FLYTXT_CUSTOMER_PROF where TARRIF_PLAN in ('4','75') and IS_RGS90_FLAG=1 and (sysdate - ACTI_DATE >= 30) and MAIN_BALANCE<200) a,
(
select msisdn, sum(TOTAL_DURATION_VOICE), sum(DATA_USAGE) from FACT_FLYTXT_CUSTOMER_USG where sysdate - to_date(DATE_KEY,'yyyymmdd') <=30 
having sum(DATA_USAGE)*1000/1024<=5 and 
(sum(TOTAL_DURATION_VOICE)/1000 <=0 OR ((sum(TOTAL_DURATION_VOICE)/1000 > 0) AND msisdn in (select msisdn from (
select max(a.DATE_KEY), a.msisdn
FROM FACT_FLYTXT_CUSTOMER_USG a, (select msisdn, max(DATE_KEY) date_key from FACT_FLYTXT_CUSTOMER_USG group by msisdn) b
where a.msisdn = b.msisdn and (to_date(b.DATE_KEY,'yyyymmdd') - to_date(a.DATE_KEY,'yyyymmdd') > 30)
group by a.msisdn)) ) 
)
group by msisdn) b
where a.msisdn = b.msisdn;


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.
Afficher la suite 

1 réponse

Messages postés
26524
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 octobre 2019
316
0
Merci
Bonjour,

1 - As tu mis des INDEX sur tes tables ?
2 - As tu testé chaque sous-select pour voir si ils fonctionnent correctement ?
3 - N'as tu pas moyen de faire autrement que d'utiliser des sous (voir des sous-sous-sous...) SELECT dans ta requête ???

4 - Tu es dans quelle SGBD ?

5 - Quelle sont les structures de tes tables et que souhaitent-tu obtenir exactement ?
Commenter la réponse de jordane45