带有concat的SQL查询列别名不起作用

问题描述 投票:0回答:1

如果在使用sql concat和html标记时尝试将别名添加到列名,则会失败并显示错误。请在下面找到详细信息。

1)CountryDtls表

ID | CountryName | CityName |--- | ------------ || ---------- |1 |印度|孟买|2 |印度|钦奈|3 |印度|波普|4 |印度|印多尔|5 |澳大利亚|悉尼|6 | Aus |墨尔本|7 |美国|纽约|8 |美国|芝加哥|

2)工作查询

选择CONCAT(“”,GROUP_CONCAT(CONCAT(“”,CountryName,“”),CONCAT(“”,CityName,“”)),“”)AS html FROM CountryDtls;

3)结果

<div><span>India</span><br/><span>Mumbai</span>,<span>India</span><br/><span>Chennai</span>,<span>India</span><br/><span>Bhopal</span>,<span>India</span><br/><span>Indore</span>,<span>Aus</span><br/><span>Sydney</span>,<span>Aus</span><br/><span>Melbourne</span>,<span>USA</span><br/><span>NY</span>,<span>USA</span><br/><span>Chicago</span></div>

4)使用列名别名进行查询

选择CONCAT(“”,GROUP_CONCAT(CONCAT(“”,CountryName,“”),CONCAT(“”,(CityName AS City),“”)),“”)AS html FROM CountryDtls;

5)抛出错误

SQL错误[1064] [42000]:您的SQL语法有错误;查看与您的MySQL服务器版本相对应的手册,以获取在'AS City'附近使用的正确语法),“”)),“”)AS HTML FROM CountryDtls'在第5行com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:SQL语法有错误;查看与您的MySQL服务器版本相对应的手册,以获取在'AS City'附近使用的正确语法),“”)),“”)AS HTML FROM CountryDtls'在第5行
mysql sql alias concat
1个回答
0
投票

抱歉,您要达到什么目的?因为那里的别名没有意义。如果要使其成为html的一部分,则需要将其作为文本添加到concat中,例如:

CONCAT("",(CityName)," AS City")

© www.soinside.com 2019 - 2024. All rights reserved.