Cita: Vamos que el valor idProducto en tabla producto y tabla preferencias si es el mismo pero no tiene porque ser igual en listaprdoductos... aunque tenga el mismo nombre.
Perdón que pregunte, pero si tienes una tabla Producto y otra ListaProductos, y la primera tiene los productos, ¿qué es lo que contiene la segunda?... ¿Qué es lo que almacena cada una?
No se comprende bien la lógica de ese diseño de tablas.