Faire un SELECT sur plusieurs tables [Résolu/Fermé]

Signaler
Messages postés
187
Date d'inscription
mercredi 16 septembre 2015
Statut
Membre
Dernière intervention
7 juin 2017
-
Messages postés
187
Date d'inscription
mercredi 16 septembre 2015
Statut
Membre
Dernière intervention
7 juin 2017
-
Bonjour,

Je cherche à faire un SELECT sur plusieurs tables, dans une même BDD.
Du genre : ("SELECT * FROM [ma bdd] WHERE id = ?");
le soucis est que je ne sais pas comment faire, car après le FROM, en principe, on met le nom des tables, et pas de la bdd... d'autant plus que ma base contient un vingtaine de tables, et que j'ai pas envie à chaque fois de mettre les 20 noms des tables dans la requête...

Je suis tombé sur ce site : https://sqlpro.developpez.com/cours/sqlaz/jointures/ sauf que c'est hyper mal expliqué (ou alors je comprend rien du tout^^)

merci d'avance pour votre aide ! :)

A voir également:

1 réponse

Messages postés
31456
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 février 2021
3 277
Bonjour,

Tu dis :

Je cherche à faire un SELECT sur plusieurs tables, dans une même BDD.


Sur "plusieurs" ou sur TOUTES les tables de ta bdd ???

Ensuite... est-ce que tes tables ont la même structure ???

Car .. non ! il n'existe pas de commande magique pour faire ce que tu veux.... et oui.. va surement falloir utiliser des JOINTURES.

Quoi qu'il en soit ... sans connaitre la structure de tes tables et ce que tu souhaites réellement obtenir... il nous sera difficile de te répondre.


Et pour finir ... ta question semble donc concerner le "requêtage" dans une BDD ( donc des requêtes sql....) ... il aurait donc été plus judicieux de poster dans le forum Bases de données non ??




Messages postés
187
Date d'inscription
mercredi 16 septembre 2015
Statut
Membre
Dernière intervention
7 juin 2017
2
Bonsoir, merci de votre réponse, je souhaite faire un SELECT de toutes mes tables, dans une seule BDD, et qui ont toutes la même structure en effet.

Et pour le forum, je me suis planté en effet :D
Messages postés
31456
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 février 2021
3 277 >
Messages postés
187
Date d'inscription
mercredi 16 septembre 2015
Statut
Membre
Dernière intervention
7 juin 2017

Si tes tables ont la même structure ( c'est étrange au passage....il semblerait que tu aies un souci de conception pour en être arrivé là... ) ... il te faudra en effet faire un
SELECT *
FROM tatable1, tatable2, tatable3 ....


Tu peux aussi utiliser des UNION
SELECT *
FROM tatable1

UNION

SELECT *
FROM tatable2

UNION

SELECT *
FROM tatable3


etc...



Et si vraiment tu ne veux pas avoir à écrire le nom de toutes tes tables....
Tu peux toujours te créer une procédure stockée qui
1 - Liste le nom de tes tables
2 - Boucle sur cette liste pour faire le SELECT *
Messages postés
31456
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 février 2021
3 277 >
Messages postés
31456
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 février 2021

par contre .. tu ne nous as pas indiqué quel SGBD tu utilises ....
Cela pourrait peut-être changer la réponse en fonction;

NB: J'ai déplacé ta question dans le forum BDD
Messages postés
187
Date d'inscription
mercredi 16 septembre 2015
Statut
Membre
Dernière intervention
7 juin 2017
2
Bonjour, merci de votre aide, ça fonctionne ! ;)

Pour la structure, en fait, ce sont des chats, ayant la même structure, mais pas la même utilité, donc pour faciliter la modération, ils sont séparés sur plusieurs tables (une pour chaque chat)