Signaler

Faire un SELECT sur plusieurs tables [Résolu]

Posez votre question Geopra 187Messages postés mercredi 16 septembre 2015Date d'inscription 7 juin 2017 Dernière intervention - Dernière réponse le 7 juin 2017 à 11:21 par Geopra
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 : http://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 ! :)

Utile
+0
plus moins
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 ??




Geopra 187Messages postés mercredi 16 septembre 2015Date d'inscription 7 juin 2017 Dernière intervention - 6 juin 2017 à 17:35
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
Répondre
jordane45 18479Messages postés mercredi 22 octobre 2003Date d'inscription ModérateurStatut 23 octobre 2017 Dernière intervention - 6 juin 2017 à 17:43
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 *
Répondre
jordane45 18479Messages postés mercredi 22 octobre 2003Date d'inscription ModérateurStatut 23 octobre 2017 Dernière intervention - 6 juin 2017 à 17:45
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
Répondre
Geopra 187Messages postés mercredi 16 septembre 2015Date d'inscription 7 juin 2017 Dernière intervention - 7 juin 2017 à 11:21
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)
Répondre
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !