Vamos de nuevo:
Cuando la consulta se ejecuta,
el WHERE de tu consulta se ejecuta antes de la asignación de valores a las variables en el SELECT, por lo que para ese momento,
las variables valen NULL, y como NULL no es un dato, sino un estado de indefinición, los operadores lógicos no pueden devolver un TRUE o FALSE. Devuelven NULL.
Entonces, en esas condiciones, y sin inicialización previa, la consulta no devuelve datos.
¿Se entiende ahora mejor?
No puedes obtener datos en esas condiciones, porque el valor de la variable al momento de evaluarla en el WHERE es NULL. Y por definición, toda oepración matemática, aritmetica, lógica o comparativa con NULL devuelve NULL.
Y un registro NULL es
una tabla sin registros Cita: Alguna idea? Gracias por la ayuda.
Para empezar deberías explicarnos qué es lo que se supone que estás queriendo lograr, porque no se entiende el sentido de esa consulta.
¿Que se supone que tienes y qué deseas obtener?