【发布时间】:2019-10-15 13:01:05
【问题描述】:
如果我在使用 sql concat 和 html 标签时尝试将别名添加到列名,则会失败并出现错误。请在下面找到详细信息。
1) CountryDtls 表
ID |CountryName |CityName | ---|------------|----------| 1 |印度|孟买| 家企业 2 |印度|钦奈| 家企业 3 |印度|博帕尔| 家企业 4 |印度|印多尔| 家企业 5 |澳大利亚|悉尼| 6 |澳大利亚 |墨尔本 | 7 |美国 |纽约 | 8 |美国|芝加哥| 家企业2) 工作查询
选择 连接(“”, GROUP_CONCAT( CONCAT("",CountryName,""), CONCAT("",城市名,"") ) ,"") 作为来自 CountryDtls 的 html;
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) 使用列名别名查询
选择 连接(“”, GROUP_CONCAT( CONCAT("",CountryName,""), CONCAT("",(CityName AS City),"") ) ,"") 作为来自 CountryDtls 的 html;
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?