Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.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,我从mySQL数据库中选择了一些数据。我只想选择project_id不为NULL或空的数据: $result = $db->query('SELECT * FROM data LEFT JOIN projects ON data.project=projects.project_id GROUP BY data.id WHERE projects.project_id IS NOT NULL OR

我从mySQL数据库中选择了一些数据。我只想选择project_id不为NULL或空的数据:

$result = $db->query('SELECT * 
         FROM data 
         LEFT JOIN projects ON data.project=projects.project_id
         GROUP BY data.id
         WHERE projects.project_id IS NOT NULL
         ORDER BY data.id DESC
         ')->fetchAll(PDO::FETCH_ASSOC);
但我收到一条错误消息:

未捕获PDOException:SQLSTATE[42000]:语法错误或访问 违反:1064您的SQL语法有错误;检查手册 对应于MySQL服务器版本的正确语法 在第21行的“WHERE projects.project_id不为NULL ORDER BY d”附近使用


where
子句位于
groupby

$result = $db->query('SELECT * 
          FROM data 
          LEFT JOIN projects ON data.project=projects.project_id
          WHERE projects.project_id IS NOT NULL
          GROUP BY data.id
          ORDER BY data.id DESC
          ')->fetchAll(PDO::FETCH_ASSOC);

我相信您已经有了主键,您不需要显式地添加
null
检查。如果您只需要匹配的数据集,请使用
内部联接
而不是
左联接

这应该是可行的,您只是没有遵循
where
order by
的正确语法

$result = $db->query('SELECT * 
          FROM data 
          LEFT JOIN projects ON data.project=projects.project_id
          WHERE projects.project_id IS NOT NULL
          GROUP BY data.id
          ORDER BY data.id DESC
          ')->fetchAll(PDO::FETCH_ASSOC);

对于查询,应该有一个正确的语法,因为GROUPBY将位于where之前。 查询应该是

          SELECT * FROM data 
          LEFT JOIN projects ON data.project=projects.project_id
          WHERE projects.project_id IS NOT NULL
          GROUP BY data.id
          ORDER BY data.id DESC

如果可能的话,请投票关闭这些打字错误问题。最好是内部连接,而不是左连接,以避免不必要的空检查