![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 623 Pomógł: 11 Dołączył: 1.01.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Witam,
chciałem zrobić mechanizm, który podpowiadałby użytkownikowi podobne artykuły do obecnie czytanego. Wpadł mi do głowy taki pomysł: Powiedzmy, że użytkownik czyta tekst zatytułowany XXX. Jest on opisany przez tagi 'tag1', 'tag2' i 'tag3'. Istnieją jeszcze 3 artykuły w bazie danych: - YYY o tagach 'tag2', 'tag4' - ZZZ o tagach 'tag1', 'tag2', 'tag3', 'tag5' - AAA o tagach 'tag2', 'tag3', 'tag5' Jak widać: - artykuł YYY ma 1 wspólny tag: 'tag2' - artykuł ZZZ ma 3 wspólne tagi: 'tag1', 'tag2', 'tag3' - artykuł AAA ma 2 wspólne tagi: 'tag2', 'tag3' Chciałbym, aby lista podobnych była następuąca: - ZZZ - AAA - YYY Jak widać zostały wypisane artykuły, których ilość wspólnych tagów z artykułem XXX jest malejąca. I teraz pytanie dotyczące SQL: Jak powinno wyglądać odpowiednie zapytanie do DB zakładając, że ma 2 tabele: Article - id - ... (inne mniej istotne pola) Article_tag - id - article_tag - tagi_id Tag - id - name Proszę o wyjaśnienie i podpowiedzi jak takie coś zbudować, bo w jestem cienki w te klocki (SQL). Pozdrawiam ![]() -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 22:37 |