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

时间:2021-07-06 07:49:33

标签: mysql sql mariadb alias

我正在运行以下查询:

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

结果给了我以下列:

<块引用>

姓名 |电子邮件 |电话 | last_subscription |姓名

可以在此屏幕截图中看到结果: sql error

我尝试将列更改为:

  • nlf.name 为 'neighborhood_name'
  • nlf.name 为“neighborhood_name”
  • nlf.name as neighborhood_name(带反引号)
  • nlf.name 作为neighbor_name
  • nlf.name 'neighborhood_name'
  • nlf.name neighbor_name
  • ...

以上都不起作用,他们一直给我回“name”作为列名。 在上面的查询中,我也无法更改第一列“ol.name”的别名。

1 个答案:

答案 0 :(得分:0)

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

CONCAT(nlf.name, '') AS neighborhood_name
相关问题