如何在sql中使用带有条件子句的函数

时间:2016-03-12 06:01:19

标签: mysql

$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附近有错误”

1 个答案:

答案 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 来自...... 在哪里......