Combinar condiciones cuando OR tiene prioridad (Visual Database Tools)
se aplica a:sql Server
Para vincular condiciones con OR y darles prioridad sobre las condiciones vinculadas a AND, debe repetir la condición AND para cada condición OR.
Por ejemplo, imagine que desea encontrar a todos los empleados que han estado con la empresa más de cinco años y que tienen trabajos de nivel inferior o se retiran. Esta consulta requiere tres condiciones, una única condición vinculada a dos condiciones adicionales con AND:
Empleados con una fecha de contratación anterior a cinco años, y
Empleados con un nivel de trabajo de 100 o cuyo estado es "R" (que indica 'retirado').
En el procedimiento siguiente se muestra cómo crear este tipo de consulta en el panel Criterios.
Para combinar condiciones cuando OR tiene prioridad
En el panel de criterios , agregue las columnas de datos que desea buscar. Si desea buscar en la misma columna con dos o más condiciones vinculadas a AND, debe agregar el nombre de columna de datos a la cuadrícula una vez para cada valor que desee buscar.
Cree las condiciones que se van a vincular con OR escribiendo la primera en la columna de cuadrícula filtro y la segunda (y posteriores) en o... columnas. Por ejemplo, para vincular condiciones con el operador OR que busquen las columnas
job_lvl
ystatus
, escriba= 100
en la columna filtro parajob_lvl
y= 'R'
en la columna OR parastatus
.Al escribir estos valores en la cuadrícula, se genera la siguiente cláusula WHERE en la instrucción del panel SQL:
WHERE (job_lvl = 100) OR (status = 'R')
Cree la condición AND escribiéndola una vez por cada condición OR. Coloque cada entrada en la misma columna de rejilla que la condición OR a la que corresponde. Por ejemplo, para agregar una condición AND que busca en la columna
hire_date
y se aplica a ambas condiciones OR, escriba< '1/1/91'
tanto en la columna Criterios como en la Or... columna.Al escribir estos valores en la cuadrícula, se genera la siguiente cláusula WHERE en la instrucción del panel SQL:
WHERE (job_lvl = 100) AND (hire_date < '01/01/91' ) OR (status = 'R') AND (hire_date < '01/01/91' )
Propina
Puede repetir una condición AND agregándola una vez y, a continuación, usando los comandos Cortar y Pegar desde el menú Editar para repetirla en otras condiciones OR.
La cláusula WHERE creada por el Diseñador de consultas y vistas es equivalente a la siguiente cláusula WHERE, que usa paréntesis para especificar la prioridad de OR sobre AND:
WHERE (job_lvl = 100 OR status = 'R') AND
(hire_date < '01/01/91')
Nota
Si escribes las condiciones de búsqueda en el formato que se muestra inmediatamente arriba en el panel SQL, pero luego realizas un cambio en la consulta en los paneles Diagrama o Criterios, el Diseñador de consultas y vistas recrea la instrucción SQL para que coincida con el formato, distribuyendo la condición AND explícitamente a ambas condiciones OR.
Consulte también
Convenciones para Combinar Condiciones de Búsqueda en el Panel de Criterios (Visual Database Tools)
Especificar Criterios de Búsqueda (Visual Database Tools)