Я думаю, что то, что вам нужно, называется ВЗГЛЯД на языке SQL. Это виртуальная таблица, создаваемая динамически на основе инструкции SELECT. Я бы сделал это так:
CREATE VIEW product_with_cat AS
SELECT p.Id, p.Name, c.Name as Category, c.Description as Category_desc
FROM products p INNER JOIN category c ON p.Category_id = c.Id;