我搜索了高和低来过滤我的mysql查询但是WHERE NOT NULL不起作用。我希望有人可以帮助我。我有一些空的列名为' path'。我想过滤掉这些。
我的查询:
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
我怎样才能完成这项工作?感谢。
答案 0 :(得分: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
这有什么帮助,或者你在问一些不同的东西?
答案 1 :(得分: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'];
}
}
答案 2 :(得分: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