Bonjour,
Je dois effectuer une requête un peu complexe à mettre en oeuvre.
Je suis dans la vente de magazine.
Je dois ressortir les ventes du mois de sept, oct et nov 2011 pour lancer un courriel au client pour lui dire que son abonnement va prendre fin.
Il y a des magazine qui ne sont vendue que 3 mois, 6 mois, 1 an, 2 ans et 3 ans.
Je ne dois ressortir que celle d'il y a 1 an.
Dans la base, 3 tables sont nécessaires.
Archives (titrepublication, info sur le client)
TblPublication (titre, periodicite)
TblTarifPublication (refPublication, duree)
les tblPublication et TblTarifPublication sont relié par le NoRefPublication
Periodicité et durée sont des textes.
Periodicité est écrites sous la forme = 52 FOIS/AN, 8 FOIS/AN 46+8 FOIS/AN, etc...
Durée est ecrites sous forme = 52 NUMÉROS (1 AN), 14 NUMÉROS, etc...
un exemple un peu complexe =
Publication 1 = periodicité (52 FOIS/AN), et sa durée = 26 NUMEROS = ce qui correspond que c'est une publication de 6 mois et non 1 an.
Dans cet exemple, 26/52 = 0,5 donc pas bon pour mes résultats.
Une piste, il faudrait que je récupère dans une requête, que ceux qui correspond à un chiffre (dans l'exemple, ne donner que 52 et 26), ensuite faire une formule mathématique qui prend les 2 nombres, les divise et s'ils donnent un résultat de 1 alors le récupérer, pour le reste, les laisser de côté.
Je récupère déja les ventes pour ceux où le mot (1 AN) s'y trouvent, mais ça me donne encore trop de résultat. D'après mon supérieur, je devrais avoir entre 1500 et 2000 résultats, et pour le moment, je suis à 8000...
Est-il possible de faire ressortir des nombres d'une requête, (il existe le gauche et récupérer X parties, mais comme il y en a des 8 et même des 108, je ne peux pas lui faire ressortir les 3 premiers caractères).
Comme les données sont au format texte, est-il possible de faire des calculs.
Faut-il faire une sous-requête ?
Merci beaucoup à vous !
Partager