Ya veo. El problema que tienes es que la estructura de "productos" está mal diseñada.
El hecho que tengas diferentes tipos de productos con diferentes atributos no significa solamente que esos atributos requieren tablas distintas, significa que tienes una jerarquía (herencia), que en tu caso se diseña poniendo:
Cita: PRODUCTO(producto_id, nombre, imagen_file)
PRODUCTO_1(producto_id, ....)
PRODUCTO_2(producto_id, ....)
...
Donde ,todos los productos se identifican en la misma tabla, pero los detalles de categoría o tipo se ponen en tablas dependientes, cuya PK es heredada de la tabla principal (FK).
Esto te puede dar una idea de cómo se diseña una jerarquía (este es algo complejo, pero sirve):
Infortunadamente dices que no lo puedes modificar para corregir el error (bastante serio, como verás por el problema que te causa). En ese caso lo único que te resta hacer es agregarle a la cesta un campo adicional que te permita identificar la tabla de origen, pero eso te exigirá luego gestionar los detalles de las consultas a través de programación en la aplicación web...
Hubiese sido más fácil modificar la base. ¿No hay posibilidades de convencer al que lo dirige?