3

メンバーの評判ポイント テーブルがあります。

rep_id   |   mem_id   |   activity        |   points   |   article_id   |   comment_id
---------|------------|-------------------|------------|----------------|-----------------
1        |   99       |   Posted Comment  |   5        |   10343        |   239403
2        |   99       |   Introduction    |   50       |                |
3        |   99       |   Liked Comment   |   5        |   748          |   9302

ご覧のとおり、すべてのレピュテーション ポイントにarticle_idまたは があるわけではありませんがcomment_id、これらのレコードをリストするときに、レコードに がある場合は、表からを取得する必要があります。と同じです。存在する場合は、テーブルから取得する必要があります。またはがない場合は、元の記録をそのまま印刷してください。article_idarticle_titleblog_articlescomment_idcommentblog_commentsarticle_idcomment_id

このクエリにどの結合を使用するか教えていただければ幸いです。ドキュメントを見ると、右に一致するものがない場合でも、左からすべてのレコードを出力する必要がある LEFT JOIN だと思いますが、実際には不明です。

コードを探しているわけではありません。どの結合が推奨されているかを教えてください。コーディングします。

4

2 に答える 2

3

確かに、左結合が必要です。レコードに がない場合、article_idの値はarticle_titleになりますNULLcomment_id同じことが/にも当てはまりますcomment

于 2012-08-12T02:11:40.653 に答える
3

OUTER 結合が必要です。外部結合には、LEFT、RIGHT、および FULL の種類があります。動作する LEFT または RIGHT 外部結合を使用してクエリを作成できますが、おそらく LEFT OUTER JOIN (通常は LEFT JOIN と省略される) が必要です。

于 2012-08-12T02:27:20.400 に答える