mysql - sql: ODBC 保留关键字

标签 mysql sql

我的 mysql 数据库中有一个名为 level 的列。 我正在尝试编写一个 sql 语句,其中一个参数当然是级别。但是我得到一个错误。我知道这是因为我使用了一个 protected 词,所以我怎么还能在我的声明中使用它。我把它放在逗号之类的里面吗?

最佳答案

来自评论

1052 - where 子句中的“级别”列不明确

上面的错误信息告诉我们,不止一个表有一个名为 level 的列,所以你必须在 level 列前面加上你想在 WHERE 子句中比较其列级别的表的表别名。在下面的查询中,我假设你想要 schoolslevel 列,所以像这样使用它 s.level

SELECT u.ck_id,u.firstname, u.lastname, sc.class_description, 
       s.name, GROUP_CONCAT(correct) 
FROM game_statistics gs 
INNER JOIN users1 u ON u.id = gs.user_id 
INNER JOIN school_classes sc ON sc.id = u.class_id 
INNER JOIN schools s ON s.id = sc.school_id 
WHERE game_type = 'exammultiple' AND gs.created_at >= '2018-03-01' 
      AND time >='40' AND s.`level` = '6' 
GROUP BY user_id 
ORDER By name ASC, class_description ASC 

您可以更改为您想要的正确表别名。

关于mysql - sql: ODBC 保留关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49402674/

相关文章:

mysql - 从 MYSQL 存储过程返回多个结果集

php - 以编程方式从 MySQL 从 URL 获取图像

mysql - 在 SQL 中,可以在 INSERT 语句的 VALUES 子句中嵌套 SELECT 语句吗?

mysql - 两个 LIKE 条件,但首先从一个条件中检索,然后从另一个条件中检索

php - mySQL 查询不工作

mysql - 删除重复查询

mysql - 无法在 MySql 表中插入超过 33138 行

mysql - Grails/Tomcat : Database connections get stuck in sleep state

.net - 将 mysql 连接到 visual web developer

sql - 在 sql/json 中构造嵌套 JSON 值(Oracle 数据库)