Me parece que sólo te falta indicar la tabla del primer id_producto, sino es ambiguo. A mí esta consulta me funcionó:
Código SQL:
Ver originalSELECT tabla_a.id_producto
FROM tabla_a
LEFT JOIN tabla_b ON tabla_a.id_producto = tabla_b.id_producto
WHERE (
(
tabla_b.id_producto IS NULL
)
OR (
tabla_b.estado != "vendido"
AND tabla_b.estado != "reservado"
)
)