Page 1 sur 1

Ajouter le nom de la table comme colonne dans une jointure

Posté : 11 mars 2008, 11:02
par fodjio
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...

Re: Ajouter le nom de la table comme colonne dans une jointu

Posté : 11 mars 2008, 11:30
par Sékiltoyai
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 ?

Posté : 11 mars 2008, 11:52
par fodjio
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:

Posté : 11 mars 2008, 12:28
par d0m
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.

Posté : 11 mars 2008, 12:33
par fodjio
Non, elle ne sont pas totalement identiques par contre.

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

Posté : 11 mars 2008, 13:20
par Sékiltoyai
Ah oui, je n'avais pas vu l'erreur de syntaxe. En effet la réponse qu'on t'a donné est la bonne…