Mam stronę działającą na joomla 3, jest dość rozbudowana ma kilka różnych komponentów (forum, katalogi, społecznościowy itp.). Chcę dać użytkownikom możliwość czegoś w rodzaju "subskrybowania/ obserwacji" materiałów. Później taki użytkownik będzie miał listę wszystkich najnowszych aktywności z obserwowanego materiału. Podam przykład: Na forum jest temat o nazwie "X" jeśli użytkownik go zacznie "obserwować" to na podstronie "obserwacje" będzie miał listę na której pojawi mu się, że ktoś dodał nowy post do tematu. Chcę się Was zapytać czy dobrze to sobie wymyśliłem.

Na razie utworzyłem tabele i cały kod php zapisujący wszystkie aktywności wykonane przez użytkowników np dodanie postu do tematu, zaktualizowanie wpisu w katalogu, skomentowanie filmu.
Tabela wygląda tak

ID|id_user|id_item|com_item|typ
1|54|321|forum|add_post
2|54|211|forum|add_post
3|57|32|video|add_comment
4|57|321|forum|add_post

id_user = id użytkownika który wykonał daną czynność
id_item = id elementu w którym wykonano czynność np temat na forum
com_item = id lub nazwa komponentu.
typ = rodzaj aktywności jaką wykonano, dodanie postu lub komentarza pod filmem.


Chcę utworzyć drugą tabelę "B" z listą elementów które obserwują użytkownicy

ID|id_user|id_item|com_item|
1|87|321|forum
2|87|81|forum
3|87|32|video
4|44|321|forum

id_user = id użytkownika który obserwuje
id_item = id elementu który jest obserwowany np temat na forum
com_item = id lub nazwa komponentu.

Według podanych danych dla użytkownika o id 87 powinno zwrócić:

Użytkownik o ID 54 dodał post do tematu o ID 321
Użytkownik o ID 57 dodał post do tematu o ID 321
Użytkownik o ID 57 dodał komentarz do filmu o ID 32


Z utworzeniem kodu powinienem sobie poradzić, proszę o doradzenia czy dobrze to wymyśliłem? chciałem wykorzystać LEFT JOIN, czy może istnieje lepszy sposób żeby to zrobić? jakieś sugestie?