-1

ブログの著者が特定の数であるデータベースからすべてのコメントを取得する必要があります。私のSQLクエリが正しい著者IDを使用していないことを除いて。

これは私のクエリです:

SELECT em_comments.*, em_users.nickname
FROM em_comments
INNER JOIN em_posts ON em_posts.id = em_comments.post
INNER JOIN em_users ON em_users.id = em_comments.author
WHERE em_posts.author = 1
ORDER BY date DESC 

ご覧のとおり、投稿の作成者が 1 である投稿のコメントのみを取得することになっています。返される結果は 4 つのコメントですが、データベースから復元する必要がある合計 6 つのコメントがあります。

私は問題がどこかにあることを知っています

WHERE em_posts.author = 1

このクエリでは、コメントの作成者が 1 であるコメントのみが返されることがあるためです。ただし、投稿の作成者が 1 であるすべての投稿のすべてのコメントを返す必要があります。

これを修正する方法について誰かアイデアがありますか?

前もってありがとう、マーク

編集:

コメント テーブル構造 + データ

id | post | author | date                 | content
6    7      1       2012-05-10 12:30:25     Dat weet hij zelf ook xD
5    6      1       2012-05-10 12:30:12     yup
1    1      1       2012-05-09 13:39:34     Whoop Whoop! Eerste comment test! xD
2    1      1       2012-05-10 12:27:49     Nice. tweede comment werkt nu ook
3    1      1       2012-05-10 12:29:45     Nice. tweede comment werkt nu ook 
4    1      1       2012-05-10 12:30:00     Nice. tweede comment werkt nu ook

posts テーブル構造 + データ

id | author | date                | content                                                 | title    
7    1        2012-05-09 19:42:33   Mark is nog topper geworden vandaag. xD                   Mark is nog cooler
6    1        2012-05-09 19:30:27   Mark is top!                                              Mark
1    1        2012-05-07 19:21:03   lol test met 'quotes' en "dubbele q...     Whoop Whoop!

users テーブル構造 + データ

id | nickname
1    Mark
2    Kevin
4

1 に答える 1

1

内部結合は、ON 句に NULL 値を持つ行を除外します。列の行の値をチェックして、NULL になるものがあるかどうかを確認します。

于 2012-05-10T13:03:55.907 に答える