0

mysqlクエリをフィルタリングするために高低を検索しましたが、WHERENOTNULLが機能しません。誰かが私を助けてくれることを願っています。'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

どうすればこれを行うことができますか?ありがとう。

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 に答える