سلام و روز خوش
اگر پرسش رو درست فهمیده باشم، درستش اینه که باید فقط یک جدول برای products داشته باشین و یک فیلد producttype بهش اضافه کنین.
در این صورت یک join ساده با شرط where کفایت میکنه.

اگر راهی برای اصلاح جدول‌ها ندارین و دستتون بسته است به هر دلیلی، 2 راه بنظرم میرسه:
1- برای هر حالت یک join بنویسن و نتایج رو union کنین.
2- dynamic sql بنویسین.

با این وجود اگر conditional join رو گوگل کنین شاید راه حل مستقیم یا tricky هم پیدا بشه.