2
コンテキスト:私はTAGSとCATEGORIES(すべての数多くの関係)に関するテーブルPOSTを持っています。それぞれの配列にタグやカテゴリがなくても投稿を返信したい。PostgreSQL - 2つのmany2many関係を持つSELECT
例:
- POST1 with TAG1, TAG2 and CAT1
- POST2 WITH CAT3, CAT4, CAT5
- POST3
私は返すようにしたい:
- POST1/{TAG1, TAG2}/{CAT1}
- POST2/NULL/{CAT3, CAT4, CAT5}
- POST3/NULL/NULL
しかし、私は持っている:
- POST1/{TAG1, TAG2}/{CAT1, NULL, NULL}
- POST2/{NULL, NULL}/{CAT3, CAT4, CAT5}
- POST3/{NULL, NULL}/{NULL, NULL, NULL}
スクリーンショットが動作しない場合は、私のコードの一部関係:
`FROM bmb_blog_post as post
LEFT OUTER JOIN bmb_blog_category_bmb_blog_post_rel as posts_categories ON posts_categories.post_id = post.id
LEFT OUTER JOIN bmb_blog_category as category ON category.id = posts_categories.category_id
LEFT OUTER JOIN bmb_blog_post_bmb_blog_tag_rel as posts_tags ON posts_tags.post_id = post.id
LEFT OUTER JOIN bmb_blog_tag as tag ON tag.id = posts_tags.tag_id`
PgAdmin SQL Results Screenshot
これは機能します。問題は、私の問題を簡素化してヘルプを求めたかったことです。このソリューションは完全なコンテキストでは機能しません。私は完全な問題で別の質問を掲示します。あなたの答えをありがとう! – Olivb40
@ Olivb40。 。 。現在の質問を変更してこの回答を無効にするのではなく、別の質問をしていただきありがとうございます。 –
最後に、私はあなたに感謝していくつかの変更を成功させました。 PostgreSQLを使った私のFullText Searchの最適化に関する助けを求めるために、後で別の質問を投稿します。 – Olivb40