sql >> Databáze >  >> RDS >> PostgreSQL

najít podobné knihy na základě zakoupených knih na základě meta klíčových slov knihy

Můžete to udělat pomocí připojení:

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

Dotaz začíná knihami, které si zákazník 1 zakoupil, pak přinese odpovídající klíčová slova a nakonec získá všechny ostatní knihy, které mají nějaké klíčové slovo společné.

Poznámky:

  • Pokud v knihách existuje několik odpovídajících klíčových slov, dostanete v sadě výsledků duplikát. V takovém případě použijte select distinct

  • Nepotřebujete tabulku book abyste dosáhli požadovaného výsledku – pokud je to z nějakého důvodu potřeba, můžete jej přinést ještě jedním připojením




  1. Čistá instalace VestaCP

  2. jak nasadit aplikaci asp.net na windows azure...?

  3. Vyberte (načtěte) všechny záznamy z více schémat pomocí Postgres

  4. Získání aktuálního ID transakce pomocí MySQL