Bonsoir,
J'ai une question concernant une requête SQL, la voici donc :
J'ai 15 tables contenant des données différentes (30 champs pour chaque table environ), sauf quelques champs qui sont pareils. J'aimerais faire une requête sur les 15 tables en même temps, et pouvoir sélectionner quelques champs qui sont nommés dans toutes les tables la même chose.
Par exemple le champ "titre" de toutes les tables.
J'ai trouvé en fait une solution qui est celle-ci :
Je fait donc une sélection des mêmes données pour chaque table. Cependant, comme la je le montre avec seulement 3 tables et qu'il y en aura au final 15, qu'elles seront énormément pleines, et que beaucoup d'utilisateurs feront des requêtes en même temps, je me pose une simple question, si cela sera assez rapide, ou s'il serait mieux de sélectionner simplement les 30 champs des 15 tables comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 SELECT titre, id_membres, tel, fax, date, duree FROM a_sports WHERE id_membres = '42' UNION SELECT titre, id_membres, tel, fax, date, duree FROM a_peches WHERE id_membres = '42' UNION SELECT titre, id_membres, tel, fax, date, duree FROM a_restaurants WHERE id_membres = '42'
C'est peut être une question un peu bête puisque l'exécution des requêtes est super rapide, mais à grande échelle je sais pas ce que cela peux donner...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT * FROM a_peches, a_restaurants, a_sports WHERE id_membres = '42'
J'ai également une question supplémentaire :
Est-il possible de pouvoir récupérer le nom d'une table avec une requête ?
Voila c'est tout... Si vous avez des conseils pour faire mes requêtes plus simplement n'hésitez pas je ne suis que débutant !
Bonne soirée et merci d'avance
Partager