J'ai besoin de changer le nom de la colonne en rejoignant la requête MySQL. J'explique mon code ci-dessous.
user_id name
Je donne mon tableau ci-dessous.
grc_action:
id name action_owner
grc_users:
select * from grc_action left join grc_users on grc_action.action_owner=grc_users.user_id
Ce qui précède est ma structure de table et comme les deux ont le même nom de colonne ie-name ici, je dois changer les grc_users code> colonne de la table ie-name lors de la récupération de l'enregistrement. Veuillez m'aider à résoudre ce problème.
3 Réponses :
Vous pouvez utiliser AS
SELECT vltn.id, vltn.name FROM veryLongTableName AS vltn
Vous pouvez également utiliser ceci sur les tables:
SELECT table1.name AS exampleName, table2.name AS otherName FROM sometable
Vous n'avez pas besoin de taper le AS , vous pouvez simplement faire SELECT table1.name exampleName pour le raccourcir, mais cela augmente la lisibilité et la maintanabilité pour l'écrire, donc je recommande de le faire avec AS .
Vous pouvez attribuer des alias différents aux colonnes nom des deux tables différentes.
select
ga.id,
ga.name as action_name,
ga.action_owner,
gu.user_id,
gu.name as user_name
from grc_action ga
left join grc_users gu
on ga.action_owner = gu.user_id;
Notez que j'ai également utilisé des alias de table qui facilitent la lecture de la requête . En général, faire SELECT * n'est pas souhaitable, et il est généralement préférable de lister explicitement les colonnes que vous voulez.
select *,grc_users.name as grcuser_name,grc_action.name as grcaction_name from grc_action left join grc_users on grc_action.action_owner=grc_users.user_id
Salut. La réponse que vous avez donnée a déjà été donnée. Sur SO, nous aimons les réponses uniques, donc si vous n'avez rien à ajouter, il est suggéré de ne pas répondre. Si vous pensez avoir quelque chose de nouveau à ajouter, n'hésitez pas à le poster. Sinon, il est recommandé de ne pas publier (ou dans ce cas de le supprimer).
Vous pouvez utiliser codeformat dans votre réponse pour améliorer la lisibilité. Je l'ai fait dans cette réponse, je vous suggère de lire l'édition pour voir ce que j'ai fait (les 4 espaces devant une ligne).