Ajouter le nom de la table comme colonne dans une jointure

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Ajouter le nom de la table comme colonne dans une jointure

par Sékiltoyai » 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…

par fodjio » 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".

par d0m » 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.

par fodjio » 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:

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

par Sékiltoyai » 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 ?

Ajouter le nom de la table comme colonne dans une jointure

par fodjio » 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...