Cita: a veces será TIPO, otras CLASE, otras MARCA y otras COLOR los campos que tengan el valor "cualquiera". ¿Qué debe valer pues, el "value" correspondiente a "TODOS" en el formulario para que se realice la consulta correctamente?
Este tipo de problemas se resuelve dinamicamente mientras creas la sentencia, de conformidad con los valores seleccionados en el formulario. Simplemente vas agregando el valor en un caso y en otro el
IS NOT NULL.
Yo engo en vb.Net varios momentos en que las sentenicas toman una forma u otra segúnsean los valores de ciertos parámetros.
En estos caso no te conviene hacer una sentencia única y simplemente cargarle valores. No. Debes
crearla de una determinada forma para que responda a lo que debe obtener. Pero eso no ser hace en la base de datos, sino en la aplicación.
Existe, si, la posibilidad de hacerlo en la base de datos, pero el método impica conocer bien el uso de
sentencias preparadas,
variables de usuario (en MySQL) y
procedimientos almacenados. Si no quieres meterte con eso, mejor hazlo en la aplicación.