mysql - mySQL 不断出错的情况

标签 mysql syntax-error

我尝试使用 CASE 语句,但不断收到语法错误。我已经关注了docs但我似乎无法摆脱这个语法错误: 查询:

SELECT students.firstname, students.lastname, students.tnumber, grades.tnumber 
FROM students, grades 
CASE WHEN grades.tnumber=students.tnumber AND grades.courseid='CSC2110' AND (grades.Grade='A' OR grades.Grade='B' OR grades.Grade='C')THEN 'YES' ELSE 'NO' END

错误:

执行查询时出错。 MySQL:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 1 行 'CASE WHENgrades.tnumber=students.tnumber ANDgrades.courseid='CSC2110' A' 附近使用的正确语法

忽略表和 select 语句。我更关心的是检查 CASE 语句的语法以及它抛出错误的原因。

最佳答案

尚不完全清楚您希望 CASE 表达式执行什么操作,但它似乎应该位于 SELECT 列表中。我还将连接条件(奇怪地出现在 CASE 表达式中)移至 ON 子句。

SELECT students.firstname,
       students.lastname,
       students.tnumber,
       grades.tnumber,
       CASE WHEN grades.courseid = 'CSC2110' AND
                 (grades.Grade='A' OR grades.Grade='B' OR grades.Grade='C')
            THEN 'YES' ELSE 'NO' END AS someColumn
FROM students
INNER JOIN grades
    ON grades.tnumber = students.tnumber

关于mysql - mySQL 不断出错的情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40273784/

相关文章:

php - 将数据库中的数据显示到下拉菜单 CodeIgniter

mysql - 在 Laravel PHP 中从 Controller 内部创建临时表

php - 在字符串中查找值的 mysql 查询

php - PHP解析/语法错误;以及如何解决它们

php - 意外的语法和解析错误T_RETURN

PHP 文件和数组

mysql - 无法连接到 MAMP 上的 phpMyAdmin

mysql - MySQL 创建函数中的语法错误

python - 将 "None"替换为返回 NameError 的对象

python-3.x - 如何为模型准备测试集形状。使用 keras 和 tensorflow 进行评估?