Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
se aplica a:sql Server
Para vincular condiciones con OR y darles prioridad sobre las condiciones vinculadas a AND, debe repetir la AND condición para cada OR condición.
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.
Combinar condiciones cuando OR tiene prioridad
En el panel Criterios (Visual Database Tools), 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 la columna de datos a la cuadrícula una vez para cada valor que desee buscar.Cree las condiciones con
ORlas que se va a vincular; para ello, escriba la primera en la columna Cuadrícula filtro y la segunda (y las posteriores) en columnas Or... independientes. Por ejemplo, para vincular condiciones conORlas que busca lasjob_lvlcolumnas ystatus, escriba= 100en la columna Filtrar parajob_lvly= 'R'en la columna Or... destatus.Al escribir estos valores en la cuadrícula, se genera la siguiente
WHEREcláusula en la instrucción del panel SQL:WHERE (job_lvl = 100) OR (status = 'R')Cree la
ANDcondición escribiendo una vez para cadaORcondición. Coloque cada entrada en la misma columna de cuadrícula a la que corresponde la condición a laORque corresponde. Por ejemplo, para agregar unaANDcondición que busca en lahire_datecolumna y se aplica a ambasORcondiciones, escriba< '1/1/91'en la columna Criterios y en la columna Or... .Al escribir estos valores en la cuadrícula, se genera la siguiente
WHEREcláusula 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')Sugerencia
Puede repetir una
ANDcondición si la agrega una vez y, a continuación, usa los comandos Cortar y Pegar del menú Editar para repetirlo para otrasORcondiciones.
La WHERE cláusula creada por el Diseñador de consultas y vistas es equivalente a la cláusula siguiente 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 escribe las condiciones de búsqueda en el formato que se muestra inmediatamente encima en el panel SQL (Visual Database Tools), pero luego realiza un cambio en la consulta en los paneles Diagrama o Criterios, el Diseñador de consultas y vistas vuelve a crear la instrucción SQL para que coincida con el formulario con la AND condición distribuida explícitamente a ambas OR condiciones.