$data = true ;
$query1 = "SELECT count(attendence) as total_attendence
FROM employee
INNER JOIN attendence ON employee.emp_id = attendence.employee_id
if($data , 'where $this->action='$this->value' AND MONTH(date)=MONTH(CURDATE())','') ";
上面的sql代码给出了错误“if if statement附近有错误”
答案 0 :(得分:1)
是的,SQL是一种语法,而不是一种编程语言,所以你不能使用IF语句。
" SELECT count(attendence)as total_attendence FROM employee INNER JOIN note on Employ.emp_id = attendence.employee_id AND MONTH(date)= MONTH(CURDATE())' ,'')";
你想在这里完成什么? if($ data,'其中$ this-> action =' $ this-> value'
Using an IF Statement in a MySQL SELECT query
您正在使用的IF / THEN / ELSE构造仅在存储过程和函数中有效。您的查询需要重新构建,因为您不能使用IF()函数来控制WHERE子句的流程。
可以在查询中使用的IF()函数主要用于查询的SELECT部分,用于根据特定条件选择不同的数据,而不是在查询的WHERE部分中使用:
SELECT IF(JQ.COURSE_ID = 0,'某些结果如果为真','某些结果如果为假'),OTHER_COLUMNS 来自...... 在哪里......