mysql - 当表包含由点分隔的多个单词组成的属性时请求 SQL。

标签 mysql

对于项目,我从客户端检索了数据库。该数据库包含的表具有由几个单词组成的属性,这些单词由一个点连接在一起。例子:

table A : id, number.client , global.score
table B : id, favorite.style 

因此,例如,当我对此表执行 sql 请求以根据 number.client 过滤结果时,MySQL 返回了一个错误。

例如我有这个请求:

SELECT * FROM A 
INNER JOIN B 
ON (A.ref_track = B.id) 
INNER JOIN C 
ON (C.id = B.ref_plannode) 
WHERE (B.id= 1) 
AND (A.number.client > 50) 
ORDER BY A.id DESC

当我运行这个请求时,我得到这个错误:

MySQL replied:  
#1064 - Syntax error on A.number.client > 50

我认为当我们有一个由点分隔的服务词组成的属性时,MySql 不会失败(比如 number.client)。那么解决方法是什么??

关于此数据库的信息,我不负责,我是从客户那里得到的!!

最佳答案

你必须用“`”引用列名

SELECT  *
FROM    A 
JOIN    B 
ON      A.ref_track = B.id
JOIN    C
ON      C.id = B.ref_plannode
WHERE   B.id= 1
        AND A.`number.client` > 50
ORDER BY A.id DESC

编辑

Working example

关于mysql - 当表包含由点分隔的多个单词组成的属性时请求 SQL。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42805560/

相关文章:

php - 带字符串后缀的 GROUP BY

mysql - NodeJs + Angular 2 CRUD JSON 解析问题

php - 错误代码 : 1172. 结果包含多行 [MySQL]

php - 在 php 中,如何从 MySQL 获取多行并将它们作为要插入到数据库中另一个表的复选框的值?

mysql - 选择 COUNT 所有行并仅返回 10 + 和计数总数

php - 查询MySQL上的多个表

MySQL VIEW 表的 key 文件不正确尝试修复它

php - 使用 PHP 在 AWS DynamoDB 中使用 JOIN 查询

php - 树结构中的递归php mysql巨大查询

sql - MySQL 中的递归存储函数