Miren, llegué a esta casera solución:
Código:
select if (v.id_opcion > 0, o.opcion, v.valor)
from esquemas_valores as v, esquemas_opciones as o
where v.id_producto = '11' and v.id_atributo = '3'
and (v.id_opcion = o.id_opcion or v.id_opcion = 0) limit 1
dudo que sea la mejor, pero por ahora funciona.
pero tengo que ver, cuando haya muchos datos en la base, que resultados arroja.
de todos modos sigo esperando alguna ayuda