[SQL] Recherches plusieurs critères dans plusieurs tables

Bonjour,

1 base de données avec plusieurs tables : janvier, février, mars, avril, ...... septembre.

Chacune de ces tables sont constituées des mêmes colonnes, dans le même ordre avec une colonne intitulée ANI qui contient des numéros de téléphones au format +33.

Si je cherche les enregistrements pour le mois de janvier pour le numéro de téléphone +33123456789, je tape la requête suivante :

select * from janvier where ANI = '+33123456789'

Si je souhaite chercher aujourd'hui tous les appels du +33123456789 depuis le 1er janvier, je suis obligé de faire la requête table par table.

Ma question : Est-il possible d'avoir une requête "unique" qui irait chercher dans l'ensemble des tables janvier à septembre ?

Même chose si je recherche plusieurs numéros de téléphone ?

Merci

Jean-Michel

Bonjour,

A ta place. je regrouperais toutes les tables en une seule en ajoutant une colonne "mois" (avec des valeurs de 1 à 12)

Ta requête deviendrait alors (pour janvier à septembre) :

select * from nouvelle_table where ANI = '+33123456789' and mois < 10

Si tu créais de nouvelles tables pour chaque année, ajoute également une colonne "année".

Cordialement,

Bonjour Sébastien et merci pour ta réponse.

Malheureusement, je ne suis pas le propriétaire de la base de données, elle est faites telle quelle et je ne peux pas intervenir dessus.

J'ai trouvé une solution avec la commande UNION qui donne

select * from janvier where ANI = '+33123456789'

UNION select * from fevrier where ANI = '+33123456789'

UNION select * from mars where ANI = '+33123456789'

etc.. etc..

Merci

Rechercher des sujets similaires à "sql recherches criteres tables"