Intérroger +sieurs tables (nombre variable)
gismin
Messages postés
22
Date d'inscription
Statut
Membre
Dernière intervention
-
jee pee Messages postés 41521 Date d'inscription Statut Modérateur Dernière intervention -
jee pee Messages postés 41521 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
$tables= 'table1,table2 ...' : le nombre peut varier.
'SELECT nom, mail FROM' .$tables ou 'SELECT * FROM' .$tables
ne marche pas. Les tables sont toutes semblables (par ex nom et mail dans toutes).
Quelle la bonne syntaxe si c possible?
Merci
$tables= 'table1,table2 ...' : le nombre peut varier.
'SELECT nom, mail FROM' .$tables ou 'SELECT * FROM' .$tables
ne marche pas. Les tables sont toutes semblables (par ex nom et mail dans toutes).
Quelle la bonne syntaxe si c possible?
Merci
A voir également:
- Intérroger +sieurs tables (nombre variable)
- Tables des matières word - Guide
- Nombre de jours entre deux dates excel - Guide
- Nombre facile - Télécharger - Outils professionnels
- Ascii nombre de caractères - Guide
- Faites afficher avec un fond coloré les cellules qui contiennent une valeur comprise entre 250 et 350. quel nombre est dessiné en surbrillance ? ✓ - Forum Excel
3 réponses
Bonjour,
Il faut retravailler les cours de sql ;-))
Et si cela marchait, il y aurait un produit cartésien des réponses. Si 10 enregistrements dans T1 et 5 dans T2 ==> réponse = 50 lignes.
La syntaxe simple c'est
Il faut retravailler les cours de sql ;-))
select nom, mail from T1,T2ne doit pas marcher car c'est ambigu si les champs de mêmes noms existent dans le 2 tables. Il faut préfixer les champs par le nom de table.
Et si cela marchait, il y aurait un produit cartésien des réponses. Si 10 enregistrements dans T1 et 5 dans T2 ==> réponse = 50 lignes.
La syntaxe simple c'est
select nom, mail from T1 union select nom, mail from T2
je suis un peu imbécile et aime bien les réponses très explicites.
Par ex. 50 lignes moi pas comprendre. Pour moi à priori c'est 10+5.
Dans ma question je précise que $tables n'est pas défini , ça peut contenir 2 tables comme 10 . Et des tables différentes:
$tables='table22,table1,table80' ou ='table6,table2'
Donc si c pas possible d'interroger en 1 ligne et s'il faut faire une boucle après avoir défini le nombre de tables et leur valeur ... donc du code du code ...
ou tout rentrer dans une grosse table ... ce qui ne m'inspirait pas à cause du volume voir de la sécurité et peut être du temps de recherche (?).
Par ex. 50 lignes moi pas comprendre. Pour moi à priori c'est 10+5.
Dans ma question je précise que $tables n'est pas défini , ça peut contenir 2 tables comme 10 . Et des tables différentes:
$tables='table22,table1,table80' ou ='table6,table2'
Donc si c pas possible d'interroger en 1 ligne et s'il faut faire une boucle après avoir défini le nombre de tables et leur valeur ... donc du code du code ...
ou tout rentrer dans une grosse table ... ce qui ne m'inspirait pas à cause du volume voir de la sécurité et peut être du temps de recherche (?).
Non c'est 10 X 5. Le select sans restriction donne le produit des 2 tables. Pour avoir 15 lignes c'est l'union telle que dans mon select plus haut.
Et je pense en lisant ta dernière remarque que effectivement tu as un problème de conception de la base de données.
On ne crée pas une table chaque jour pour enregistrer, par exemple, des connexions du jour à un site. Il n'y a qu'une seule table avec toutes les connexions.
Un jour j'ai vu une table dans une base qui faisait 192 GO et des centaines de millions de lignes.
Un étranger, c'est un ami qu'on n'a pas encore rencontré.
Et je pense en lisant ta dernière remarque que effectivement tu as un problème de conception de la base de données.
On ne crée pas une table chaque jour pour enregistrer, par exemple, des connexions du jour à un site. Il n'y a qu'une seule table avec toutes les connexions.
Un jour j'ai vu une table dans une base qui faisait 192 GO et des centaines de millions de lignes.
Un étranger, c'est un ami qu'on n'a pas encore rencontré.