简体   繁体   English

名称列上的 MySQL 别名未按预期工作

[英]MySQL alias on name column is not working as intended

I am running the following query:我正在运行以下查询:

SELECT ol.name, o.email AS email, o.phone AS phone, MAX(nrs.created) AS last_subscription, nlf.name AS `neighborhood_name`
FROM organisation AS o
LEFT OUTER JOIN organisation_localisation_fallback AS ol ON o.id = ol.organisation_id and ol.language_id=14 and ol.country_id=19
LEFT JOIN neighborhood_request_subscription AS nrs ON o.id = nrs.from_organisation_id
LEFT JOIN organisation_neighborhood AS orgn ON o.id = orgn.organisation_id
LEFT OUTER JOIN neighborhood_localisation_fallback AS nlf ON orgn.neighborhood_id = nlf.neighborhood_id AND nlf.language_id=14 AND nlf.country_id=19
WHERE o.id IN (73)
GROUP BY o.id
ORDER BY nrs.created IS NOT NULL, nrs.created ASC

It is giving me the following columns as a result:结果它给了我以下列:

name |姓名 | email |电子邮件 | phone |电话 | last_subscription | last_subscription | name名称

A result can be seen in this screenshot:结果可以在此屏幕截图中看到: sql错误

I've tried changing the column to be :我试过将列更改为:

  • nlf.name as 'neighborhood_name' nlf.name 为 'neighborhood_name'
  • nlf.name as "neighborhood_name" nlf.name 为“neighborhood_name”
  • nlf.name as neighborhood_name (with backticks) nlf.name 作为neighborhood_name (带反引号)
  • nlf.name as neighborhood_name nlf.name 作为neighbor_name
  • nlf.name 'neighborhood_name' nlf.name 'neighborhood_name'
  • nlf.name neighborhood_name nlf.name 邻居名称
  • ... ...

None of the above work, they keep giving me back "name" as the column name.以上都不起作用,他们一直给我回“name”作为列名。 In the query above, i am also unable to change the alias of the first column "ol.name".在上面的查询中,我也无法更改第一列“ol.name”的别名。

我设法通过使用 CONCAT 解决了这个问题,如下所示:

CONCAT(nlf.name, '') AS neighborhood_name

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM