Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果不返回任何内容,则返回MySQL_Mysql - Fatal编程技术网

如果不返回任何内容,则返回MySQL

如果不返回任何内容,则返回MySQL,mysql,Mysql,我正在尝试做一些优化,目前post mysql的工作是在结果上设置一个新的参数$class\u subject。。。所以我尝试在mysql中计算出这个值 SELECT class_grade.results as results, subjects.subject as subject, subjects_pseudonyms.pseudonym as pseudonym, IF(

我正在尝试做一些优化,目前post mysql的工作是在结果上设置一个新的参数
$class\u subject
。。。所以我尝试在mysql中计算出这个值

SELECT
     class_grade.results                as results,
     subjects.subject                   as subject,
     subjects_pseudonyms.pseudonym      as pseudonym,
     IF( subjects_pseudonyms.pseudonym = null, subjects.subject, subjects_pseudonyms.pseudonym ) as class_subject
 FROM
     class_grade
 INNER JOIN class               ON class_grade.class_ID         = class.class_ID
 INNER JOIN subjects            ON class.subject_ID             = subjects.a_ID
 LEFT JOIN  subjects_pseudonyms ON class.subject_pseudonym_ID   = subjects_pseudonyms.a_ID
 WHERE
     class_grade.teacher_ID     = :teacher_id AND
     class_grade.class_ID       = :current_class_ID AND
     class_grade.report_set_ID  = :report_set_ID AND
     class_grade.student_ID     = :current_student_ID
在上面的查询中,
笔名
可能为空,如果是这样,我试图将一个新变量
class_subject
设置为
subject
笔名

查询运行正常,结果示例如下:

[results] => 71
[subject] => Law
[pseudonym] => 
[class_subject] => 
问题是,
class\u主题
没有被填充

我的IF()条件有问题吗

谢谢,
John

您需要使用
IS NULL
而不是
=NULL
ISNULL()

可以使用ISNULL()代替=来测试值是否为NULL。 (使用=始终将值与NULL进行比较会产生false


您是否尝试过使用条件主题\u笔名。笔名为空?(so IS而不是=)我不完全确定我是否遵循了,你的意思是只选择
受试者。受试者
如果
受试者\u笔名。笔名
为空?只需在条件中用IS关键字替换=符号,这是我的建议。:)太棒了,谢谢你的款待!哈,我是如此接近。