Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Condiciones (https://www.clubdelphi.com/foros/showthread.php?t=13164)

Carlex 09-08-2004 02:14:12

Condiciones
 
Buenas, mi problemilla es el siguiente, dentro de my query hay dos condiciones, la primera debe cumplirse obligatoriamente, pero la segunda no. La cuestion es cuando la segunda condicion no se cumple no me bota ningun resultado! eso si esta con el condicionante AND, si coloco el condicionante OR me bota todos los resultados que cumplan la condicion 2

.....
WHERE(O.N_Cod_Orden=934 AND
S.S_Si_No=No)

que estoy haciendo mal?

jachguate 09-08-2004 05:50:18

¿no debe cumplirse? entonces no es una condición. NO la incluyas en el where, y listo.

Hasta luego.

;)

Carlex 09-08-2004 14:36:08

Aclaracion no necesariamente debe cumplirse, cuando no se cumpla la 2da igual debe seleccionar todo lo q la 1ra encuentre.

__marcsc 09-08-2004 15:20:40

Cita:

Empezado por Carlex
Aclaracion no necesariamente debe cumplirse, cuando no se cumpla la 2da igual debe seleccionar todo lo q la 1ra encuentre.

Hola,

fíjate que cuando pones un AND, lo que estas diciendo es que quieres que se cumplan las dos condiciones. No sé si lo que tu quieres es algo del tipo

Código SQL [-]
WHERE Cliente = '43024533' AND (Activo = :Activo OR :Activo IS NULL)

Donde forzosamente el cliente debe ser ese, pero en función de si el parámetro activo tiene valor o no, se filtra.

Saludos!

jachguate 09-08-2004 18:52:45

Cita:

Empezado por Carlex
Aclaracion no necesariamente debe cumplirse, cuando no se cumpla la 2da igual debe seleccionar todo lo q la 1ra encuentre.

:confused: :confused: ¿no es lo que he dicho antes? Creo que simplemente no debiera ir en el query, o no he entendido nada...

Porque no tratas de explicarte con otras palabras... o con un ejemplo de unas cuantas filas...

Hasta luego.

;)

Carlex 09-08-2004 20:05:54

Aqui adjunto el codigo:

SELECT O.N_Cod_Orden, M.S_Nombre_M, O.N_Mesa, O.F_Fecha_Hora, D.S_Nombre_Plato, S.S_Nombre_Ingredientes, D.N_Cantidad, S.N_Diferenciador
FROM T_Orden O, T_Mesera M, T_Detalles_Orden D, T_Sub_Orden S
WHERE M.N_Cod_Mesera=O.N_Cod_Mesera And
O.N_Cod_Orden=S.N_Cod_Orden And
O.N_Cod_Orden=D.N_Cod_Orden And
D.N_Cod_Orden=S.N_Cod_Orden And
D.N_Cod_Plato=S.N_Cod_Plato AND
O.N_Cod_Orden=:Param1 AND
S.S_Si_No=No
GROUP BY S.N_Diferenciador, S.S_Nombre_Ingredientes, O.N_Cod_Orden, M.S_Nombre_M, O.N_Mesa, O.F_Fecha_Hora, D.S_Nombre_Plato, D.N_Cantidad

1. Esto es debido a q el plato tiene ingredientes.
2. Por defecto todos los ingredientes van.
3. El usuario seleciona si algun ingrediente no va o deja como esta
4. Si todos los ingredientes van, el query debe seleccionar solo el plato
5. Si algun ingrediente no va , el query mostrara el plato y el ingrediente mencionado.

Si esto no aclara mi problema creo q hay algun problema de vista :D , gracias

jachguate 09-08-2004 20:55:15

Hola.

Siento que esto no ayuda mucho. Aunque aclara un poco mas, sería mejor decir:

En esta tabla tengo estas filas, y en esta otra estas (solo las tablas relevantes). y quiero obtener este resultado... creo que sería mas entendible, para mi, que no quiero saber de ingredientes o meseras...

Hasta luego.

;)

roman 09-08-2004 21:15:33

Cita:

Empezado por jachguate
no quiero saber de ingredientes o meseras...

Conozco restaurantes donde estoy seguro que te interesará saber de las meseras.

:D


La franja horaria es GMT +2. Ahora son las 13:20:40.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi