Requete sans resultat

ulrish Messages postés 18 Date d'inscription jeudi 19 novembre 2009 Statut Membre Dernière intervention 25 septembre 2017 - Modifié le 25 sept. 2017 à 23:02
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 - 26 sept. 2017 à 09:18
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.

1 réponse

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
26 sept. 2017 à 09:18
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 ?
0
Rejoignez-nous