Probleme Jointure entre plusieurs tables
Résolu/Fermé
Lemjid
Messages postés
71
Date d'inscription
mardi 26 février 2019
Statut
Membre
Dernière intervention
15 juillet 2021
-
Modifié le 30 avril 2021 à 12:19
Lemjid Messages postés 71 Date d'inscription mardi 26 février 2019 Statut Membre Dernière intervention 15 juillet 2021 - 5 mai 2021 à 10:30
Lemjid Messages postés 71 Date d'inscription mardi 26 février 2019 Statut Membre Dernière intervention 15 juillet 2021 - 5 mai 2021 à 10:30
A voir également:
- Probleme Jointure entre plusieurs tables
- Tables des matières word - Guide
- Tables ascii - Guide
- Problème table des matières word - Forum Word
- Voici une base de données présentant la programmation d'un théâtre. elle comporte 4 tables : pieces, seances, categories, tarifs. combien de pièces de danse et de pièces de musique, en tout, ont un tarif réduit strictement inférieur à 15 euros ? - Forum Python
- Problème numérotation table des matières word ✓ - Forum Word
4 réponses
jee pee
Messages postés
40465
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
23 novembre 2024
9 425
Modifié le 30 avril 2021 à 12:28
Modifié le 30 avril 2021 à 12:28
Bonjour,
Cela semble une super mauvaise structure des données.
Avec 3 tables tu peux faire un sql comme, en remplaçant les 1 et les 2 par tes identifiants.
Avec 100, 1000 tables ... il faut probablement passer par une procédure PLSQL (si ça existe en Mysql ?).
Ou sinon un sql qui va générer en spool un sql
Cela semble une super mauvaise structure des données.
Avec 3 tables tu peux faire un sql comme, en remplaçant les 1 et les 2 par tes identifiants.
SELECT * FROM obj right OUTER join obj_1 on 0=0 where id=1 UNION SELECT * FROM obj right OUTER join obj_2 on 0=0 where id=2
Avec 100, 1000 tables ... il faut probablement passer par une procédure PLSQL (si ça existe en Mysql ?).
Ou sinon un sql qui va générer en spool un sql
SELECT CONCAT("SELECT * FROM obj right OUTER join obj_",id," on 0=0 where id=",id," union ") from obj
Lemjid
Messages postés
71
Date d'inscription
mardi 26 février 2019
Statut
Membre
Dernière intervention
15 juillet 2021
30 avril 2021 à 12:56
30 avril 2021 à 12:56
Bonjour Monsieur,
Merci pour votre retour : La première solution c'est impossible j'ai 600 tables :(
En Mysql : c'est possible de faire des procédure mais j'ai pas aucune idée
La deuxième : j'ai pas bien compris l'exemple ; j'ai appliquer ce truc dans ma basse et j'ai pas eux la bonne résultat toujours : SELECT * FROM ...
SELECT * FROM ...
Merci d'avance pour votre aide
Merci pour votre retour : La première solution c'est impossible j'ai 600 tables :(
En Mysql : c'est possible de faire des procédure mais j'ai pas aucune idée
La deuxième : j'ai pas bien compris l'exemple ; j'ai appliquer ce truc dans ma basse et j'ai pas eux la bonne résultat toujours : SELECT * FROM ...
SELECT * FROM ...
Merci d'avance pour votre aide
jee pee
Messages postés
40465
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
23 novembre 2024
9 425
Modifié le 30 avril 2021 à 13:40
Modifié le 30 avril 2021 à 13:40
600 tables, schéma à la con ! celui qui a conçu cela n'a rien compris aux SGBD
Donc il faut te mettre aux procédures
J'ai une base avec 3 lignes dans obj et 3 tables obj_x
Avec
Je mets le résultat dans un fichier texte
je supprime le dernier union en trop, et je lance le sql ainsi obtenu, j’obtiens alors le resultat
Avec tables la requete devrait être :
mais un sql avec 600 union ???
Donc il faut te mettre aux procédures
J'ai une base avec 3 lignes dans obj et 3 tables obj_x
Avec
SELECT CONCAT("SELECT * FROM obj right OUTER join obj_",id," on 0=0 where id=",id,"\n union ") from obj
Je mets le résultat dans un fichier texte
SELECT * FROM obj right OUTER join obj_1 on 0=0 where id=1
union
SELECT * FROM obj right OUTER join obj_2 on 0=0 where id=2
union
SELECT * FROM obj right OUTER join obj_3 on 0=0 where id=3
union
je supprime le dernier union en trop, et je lance le sql ainsi obtenu, j’obtiens alors le resultat
Avec tables la requete devrait être :
SELECT CONCAT("SELECT * FROM objects right OUTER join objects_data_",id," on 0=0 where id=",id,"\n union ") from objects
mais un sql avec 600 union ???
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
1 550
>
jee pee
Messages postés
40465
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
23 novembre 2024
Modifié le 30 avril 2021 à 17:45
Modifié le 30 avril 2021 à 17:45
bonjour,
puisque c'est du PHP, il me semble assez simple d'utiliser la première table pour obtenir les noms des autres tables, et d'ensuite parcourir toutes les tables pour en récupérer toutes les informations.
puisque c'est du PHP, il me semble assez simple d'utiliser la première table pour obtenir les noms des autres tables, et d'ensuite parcourir toutes les tables pour en récupérer toutes les informations.
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
1 550
30 avril 2021 à 17:44
30 avril 2021 à 17:44
je me demande pourquoi indiquer au départ qu'il y a trois tables, pour ensuite clarifier qu'il y en a 600.
mysqla
>
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
1 mai 2021 à 00:34
1 mai 2021 à 00:34
J'ai donnée un exemple : si j'arrive a trouver la bonne requête avec 3 tables je peut l'appliquer même sur 1000 tables .
Lemjid
Messages postés
71
Date d'inscription
mardi 26 février 2019
Statut
Membre
Dernière intervention
15 juillet 2021
>
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
1 mai 2021 à 00:56
1 mai 2021 à 00:56
Bonjour,
Merci pour votre retour ,
Est-il possible de nous expliquer des plus : est-il possible d'appliquer ce truc sur les tables faites par @jee pee en haut.
Merci d'avance
Merci pour votre retour ,
Est-il possible de nous expliquer des plus : est-il possible d'appliquer ce truc sur les tables faites par @jee pee en haut.
Merci d'avance
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
Ambassadeur
1 550
30 avril 2021 à 17:59
30 avril 2021 à 17:59
à quoi servent les tables articles_data_, elles complètent les tables objects_data_?
Lemjid
Messages postés
71
Date d'inscription
mardi 26 février 2019
Statut
Membre
Dernière intervention
15 juillet 2021
Modifié le 1 mai 2021 à 00:52
Modifié le 1 mai 2021 à 00:52
1- La table objects c'est la table principale : Lors de l'ajout d'un nouveau object l'insertion est faite
au niveau de cette table : l'utilisateur ajoute les informations fixes.
2- Les tables : objects_data_xxx ce sont les tables utilisées pour stocker des informations
et pour assurer l'archivages vue que les informations sont très volumineux (plus que 500000 lignes par jours).
au niveau de cette table : l'utilisateur ajoute les informations fixes.
2- Les tables : objects_data_xxx ce sont les tables utilisées pour stocker des informations
et pour assurer l'archivages vue que les informations sont très volumineux (plus que 500000 lignes par jours).
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
1 550
1 mai 2021 à 08:12
1 mai 2021 à 08:12
et articles_data_xxx?
Lemjid
Messages postés
71
Date d'inscription
mardi 26 février 2019
Statut
Membre
Dernière intervention
15 juillet 2021
>
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
5 mai 2021 à 10:30
5 mai 2021 à 10:30
c'est objects_data_xxx
Problème résolue avec simple boucle for
Problème résolue avec simple boucle for