0

我搜索了高和低以过滤我的 mysql 查询,但 WHERE NOT NULL 不起作用。我希望有人可以帮助我。我有一些名为“路径”的空列。我想过滤掉这些。

我的查询:

SELECT 
p.path, p.title, p.body, p.post_date, u.username FROM pages p 
LEFT JOIN users u ON p.post_author = u.id 
ORDER BY p.id ASC

我怎样才能完成这项工作?谢谢。

4

3 回答 3

2
SELECT 
    p.path, p.title, p.body, p.post_date, u.username 
FROM pages p 
LEFT JOIN users u ON p.post_author = u.id
WHERE 
    p.path IS NOT NULL AND 
    p.path <> ''
ORDER BY p.id ASC

那么这是否有帮助,或者您在问一些不同的问题?

于 2012-06-05T09:33:02.463 回答
0

尝试使用 php 检查空字段:

$query = "SELECT 
    p.path, p.title, p.body, p.post_date, u.username FROM pages p 
    LEFT JOIN users u ON p.post_author = u.id 
    ORDER BY p.id ASC";
$result = mysql_query($query);

while( $row = mysql_fetch_assoc($result) ){

// Check for empty record
if( !empty($row['path']) ){
    echo $row['path'];
   }
}
于 2012-06-05T09:33:30.970 回答
0

试试这个,这可能有效。

SELECT 
p.path, p.title, p.body, p.post_date, u.username FROM pages p 
LEFT JOIN users u ON p.post_author = u.id 
WHERE p.path IS NOT NULL AND p.path <> ''
ORDER BY p.id ASC
于 2012-06-05T09:39:47.233 回答