|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre habitué
![]() Inscription : janvier 2003 Messages : 316 ![]() |
Bonjour,
J'ai plusieurs tables avec exactement les memes colonnes (je n'ai pas regroupe les tables en une seule, car j'ai besoin d'avoir des tables separees). En gros cela donne ceci : Code :
J'ai besoin d'avoir les tables separees pour chaque Clinic. Le nom des tables est un ID qui est stocke dans la table AllClinic. Donc ma question: Comme j'ai besoin de recuperer certaines donnees de toutes les tables en sachant que les noms des colonnes sont les memes, mais avec des donnees differentes. Pour recuperer les donnees, j'ai fait d'abord une requete a partir de ma table "AllClinic" pour recuperer tous les ID des tables, et ensuite j'ai faif une boucle pour recuperer les donnees pour chaque table . Mais si j'ai une centaine de tables, ma boucle va faire une centaine de requete, et je pense que ce n'est pas tres bon. non ? Donc je voudrais recuperer les donnees de toutes les tables en une seule requete. Comment puis-je proceder en sachant que les noms des colonnes sont identiques mais qu'il n'y a aucune correspondance d'une table a l'autre ? Merci Fred |
||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Frédéric Brugmans Informaticien multitâche Inscription : février 2005 Messages : 661 ![]() |
Pourquoi ne pas avoir fait une seule table avec un id sur le numero de la clinique et des vues ?
|
|
|
00
|
|
|
#3 |
|
Membre habitué
![]() Inscription : janvier 2003 Messages : 316 ![]() |
Il faut absolument des tables separees, il faut que se soit tres bride (question de confidentialite)
|
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Inscription : janvier 2006 Messages : 951 ![]() |
dans ce cas là, je donne raison à Becket, une seule table pour l'écriture et des vues avec une gestion des droits fines pour la lecture. (les vues en écriture je trouve que ça ne marche pas super). tu auras exactement la même sécurité point de vue sgbd. Sauf si tu autorises ton client à faire des DELETE sans where et des DROP table... mais là ...
Mission accomplie? sinon pour ton truc, il faut aller vers une procédure, et moi je ne sais pas faire les procédures sous mysql (tant que les hébergements mutualisés ne gèreront pas ça... ). EDIT: l'idée des vues n'est pas si mauvaise que ça. Si l'option plein de tables te semble meilleure tu peux toujours créer une vue qui "concatène" les tables.
__________________
PHP fait nativement la validation d'adresse électronique Utilisez le bouton résolu! |
|
|
00
|
|
|
#5 |
|
Membre habitué
![]() Inscription : janvier 2003 Messages : 316 ![]() |
Je suis oblige de rester avec plein de tables (securite), car il va y avoir + de 200-300 cliniques. Si je fais une seule table, et que j'ai un probleme avec cette table, toutes les cliniques auront des problemes, et on va me faire la peau.
Je vais approfondir l'idee des vues. Merci Fred |
|
|
00
|
|
|
#6 |
![]() ![]() ![]() Cédric DuprezInscription : avril 2002 Messages : 3 820 ![]() |
Tu peux également ne générer qu'une seule requête sur l'ensemble des tables, en interrogeant chaque table et en joignant toutes les interrogations par l'opérateur UNION.
Tu peux trouver un exemple dans la : http://mysql.developpez.com/faq/?pag..._table_origineCet exemple te montre même comment ajouter un champ dans la requête qui identifie de quelle table provient l'enregistrement, si besoin. Le problème avec les vues, c'est qu'il faut que tu saches à l'avance dans quelles tables faire les requêtes, ce qui ne semble pas être le cas d'après ce que j'ai compris. ced
__________________
Rédacteur / Modérateur SGBD Mes tutoriels et la FAQ MySQL ---------------------------------------------------- Pensez aux balises code et au tag Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com