sql >> データベース >  >> RDS >> PostgreSQL

書籍のメタキーワードに基づいて購入した書籍に基づいて類似の書籍を検索する

    これは、結合を使用して行うことができます:

    select bmk2.book
    from customer_books cb
    inner join book_meta_keyword bmk1 
        on  bmk1.book = cb.book
    inner join book_meta_keyword bmk2 
        on  bmk2.meta_keyword = bmk1.meta_keyword
        and bmk2.book <> bmk1.book
    where cb.customer = 1
    

    クエリは、顧客1が購入した本から始まり、対応するキーワードを持ってきて、最後に、共通のキーワードを持つ他のすべての本を取得します。

    注:

    • 書籍全体で一致するキーワードが複数ある場合は、結果セットに重複が表示されます。その場合は、select distinctを使用してください

    • テーブルbookは必要ありません 希望する結果を得るには、何らかの理由で必要な場合は、もう1回参加することで結果を得ることができます




    1. SQL Server Management Studio(SSMS)の個別のタブにクエリと結果を表示する方法-SQL Server/TSQLチュートリアルパート15

    2. Oracle apex 選択リストと値の非表示

    3. Oracle10gのLISTAGG代替

    4. Hibernateを使用した単一列(クラス属性)の遅延フェッチ