Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Bases de Datos General (http://www.forosdelweb.com/f21/)
-   -   Como hacer una consulta SQL? (http://www.forosdelweb.com/f21/como-hacer-consulta-sql-394038/)

aitzi 16/05/2006 06:47

Como hacer una consulta SQL?
 
aupa!
Tengo un problema con una consulta que tengo que hacer.
Tendria que combinar unas condiciones.
CONDICION1 --> se tiene que cumplir siempre
CONDICION2 --> que contiene otras condiciones (SUBCONDICION1 y SUBCONDICION2), si se cumple esta condicion no se cumple la condicion3
CONDICION3 --> que contiene otras condiciones (SUBCONDICION3 y SUBCONDICION4 y SUBCONDICION5), si se cumple esta condicion no se cumple la condicion3

La consulta mas o menos seria algo asi ...
SELECT campos FROM tabla WHERE CONDICION1 AND CONDICION2 OR CONDICION3

No se si los OR o los AND estan mal. Si me podeis decir si esta bien la estructura os lo agradeceria

Un saludo

luchop 16/05/2006 08:53

pareceria que tu sentencia esta correcta, ya que el AND tiene mayor pecedencia que el OR, o sea que se ejecutara primero.

Notwen 16/05/2006 09:06

Cita:

Iniciado por aitzi
aupa!
CONDICION2 --> que contiene otras condiciones (SUBCONDICION1 y SUBCONDICION2), si se cumple esta condicion no se cumple la condicion3
CONDICION3 --> que contiene otras condiciones (SUBCONDICION3 y SUBCONDICION4 y SUBCONDICION5), si se cumple esta condicion no se cumple la condicion3

Perdón, pero no entiendo que significa que si se cumple la condición 2 no se cumple la condición 3. ¿Querés verificar que, si se cumple condicion2 no se cumpla condicion3?. Y creo que te debes haber equivocado al tipear, porque después decis que si se cumple condicion3 no se cumple condicion3.
Saludos.

PequeñoMauro 16/05/2006 09:07

Como comentario, te recomendaria por experiencia que lo pongas asi:

SELECT campos FROM tabla WHERE CONDICION1 AND (CONDICION2 OR CONDICION3)

Cerrado en paréntesis la condición OR...
Saludos...

PequeñoMauro 16/05/2006 09:26

Cita:

Iniciado por Notwen
Perdón, pero no entiendo que significa que si se cumple la condición 2 no se cumple la condición 3. ¿Querés verificar que, si se cumple condicion2 no se cumpla condicion3?. Y creo que te debes haber equivocado al tipear, porque después decis que si se cumple condicion3 no se cumple condicion3.
Saludos.

No me habia percatado al respecto, tienes razón, sería bueno que sea un poco más especifico

aitzi 17/05/2006 05:24

Puede que sea por la base de datos. Yo diria que por logica habia definido bien la sintaxis pero al parecer access no lo percibe asi. La solucion que da access es la siguiente

SELECT campos FROM tabla WHERE CONDICION1 OR CONDICION2

CONDICION1 -->SUBCONDICON1 AND SUBCONDICION2 AND SUBCONDICION3
CONDICION2 -->SUBCONDICION1 AND SUBCONDICION2 AND SUBCONDICION4

Yo queria intentar inpedir la repeticion de esas dos subcondiciones. No se si se podra pero por ahora lo dejo asi.
Gracias por echar una mano. Saludos


La zona horaria es GMT -6. Ahora son las 18:09.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.