SQL Query

Hi friends… please help me…
my problem is…

i have four tables
1 - category - consists of category id,category name
2 - publisher - consists of publisher details
3 - product - consists of publisherid, categoryid and product details
4 - topsellers - consists of categoryid…

i have to display…
1 - all the categories which appears in the topseller table with,
2 - all the products in that particular category
3 - if there is more than one product in that particular category, only one should be displayed RANDOMLY… Random is the important word… each time when i refresh the page, the page should be displayed with the same category in the same order, but the products randomly…

iam waiting for your replay,
thank you
R