Ajouter le nom de la table comme colonne dans une jointure

Petit nouveau ! | 3 Messages

11 mars 2008, 11:02

Bonjour, :)

alors voilà, c'est l'histoire d'une requête :

Code : Tout sélectionner

SELECT nom, commentaire FROM table1 UNION ALL SELECT nom, commentaire FROM table2 UNION ALL SELECT nom, commentaire FROM table3 UNION ALL SELECT nom, commentaire FROM table4 ORDER BY nom, commentaire'
et ce que je voudrais faire c'est ajouté le nom de la table dans les colonnes.

genre comme ceci :

Code : Tout sélectionner

SELECT nom, commentaire, nomdelatable='table1' FROM table1 UNION ALL SELECT nom, commentaire, nomdelatable='table2' FROM table2 ...
Comment puis-je faire s'il vous plait ?

Merci de me conseiller...

ViPHP
ViPHP | 5924 Messages

11 mars 2008, 11:30

et ce que je voudrais faire c'est ajouté le nom de la table dans les colonnes.

genre comme ceci :

Code : Tout sélectionner

SELECT nom, commentaire, nomdelatable='table1' FROM table1 UNION ALL SELECT nom, commentaire, nomdelatable='table2' FROM table2 ...
Comment puis-je faire s'il vous plait ?
J'aurais eu tendance à dire : exactement comme tu as fais…
Sinon, quelles sont ces 4 tables ?

Petit nouveau ! | 3 Messages

11 mars 2008, 11:52

C'est bon j'ai trouvé ! \:D/

il suffit de faire comme celà :

Code : Tout sélectionner

SELECT nom, commentaire, 'table1' AS nomdelatable FROM table1 UNION ALL SELECT nom, commentaire, 'table2' AS nomdelatable FROM table2 ...
J'ai trouvé la soluce ici -> http://weblogs.foxite.com/andykramek/ar ... 8/921.aspx

Merci Sékiltoyai de t'être penché sur le problème :wink:
Modifié en dernier par fodjio le 11 mars 2008, 12:30, modifié 1 fois.

d0m
Mammouth du PHP | 1141 Messages

11 mars 2008, 12:28

salut,

les tables contacts ont exactement la même structure si ce n'est que l'une est pour l'Alsace, l'autre la Lorraine,...?

Dans ce cas c'est ta base de données qui a un problème de conception et il y a alors plus facile en changeant les structures des tables pour avoir la région.
Modifié en dernier par d0m le 11 mars 2008, 12:34, modifié 1 fois.

Petit nouveau ! | 3 Messages

11 mars 2008, 12:33

Non, elle ne sont pas totalement identiques par contre.

Et j'aimerais éviter d'alourdir mes table avec un champs "nomdelatable".

ViPHP
ViPHP | 5924 Messages

11 mars 2008, 13:20

Ah oui, je n'avais pas vu l'erreur de syntaxe. En effet la réponse qu'on t'a donné est la bonne…