Foros Club Delphi

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

Carlex 02-07-2005 20:15:49

Consulta doble?
 
Muy buenas a todos:

Mi consulta es la siguiente tengo una tabla detalle de la sgte forma:
Código:

 
CI  Comp  F_FechaP        S_Descripcion  M_Pago
123  23/96  23/05/1998  S/Kardex        23.5
123  23/96  30/06/1998  Reord                36.5
123  23/96  30/07/1998  Planillas        30.3
456  63/96  23/05/1998  S/Kardex        25.8
456  63/96  30/06/1998  Reord                13.5
456  63/96  30/07/1998  Planillas        30.0
789  87/96  23/05/1998  S/Kardex        23.5
789  87/96  30/07/1998  Planillas        30.5
etc..

La consulta es...como puedo hacer un query q me seleccione todos lo registros con las condiciones registros mayores o iguales al 30/06/1998 y q en su descripcion diga "Reord" en esta fecha, es decir q me bote los resultados d la sgte forma:

Código:

 
CI  Comp  F_FechaP        S_Descripcion  M_Pago
123  23/96  30/06/1998  Reord                36.5
123  23/96  30/07/1998  Planillas        30.3
456  63/96  30/06/1998  Reord                13.5
456  63/96  30/07/1998  Planillas        30.0

Mi logica es 1ro un query q me seleccione todos aquellos q en fecha 30/06/1998 tenga la descripcion "Reord", y luego con otro query selecionar los mayores a 30/06/1998 y luego unirlos...pero no me sale, una ayuda...GRacias

Casimiro Notevi 02-07-2005 20:55:39

La consulta es...como puedo hacer un query q me seleccione todos lo registros con las condiciones registros mayores o iguales al 30/06/1998 y q en su descripcion diga "Reord" en esta fecha, es decir q me bote los resultados d la sgte forma:

Seguramente quieres decir que la fecha sea mayor o igual a 30-06-1998 o descripcion contenga "Reord".
Porque si pones Y en vez de O, sólo te saldrían los que pongan Reord sin tener en cuenta al resto.

Seguramente no está bien redactada tu pregunta, porque aparentemente lo que pides es de lo más simple:
Código SQL [-]
 select *
 from latablaquesea
 where fecha >='06/30/1998'
 and descripcion containing "Reord"

vtdeleon 02-07-2005 21:01:55

Saludos
No entendi bien pero...
Código SQL [-]
select CI,Comp,F_FechaP,S_Descripcion,M_Pago
from tabla
where f_fechap>=#30/06/1998#

Carlex 02-07-2005 21:29:02

Buebas gracias por las respuestas, la pregunta se va por la 1ra respuesta cuando hago la consulta que decis

Código:

select *
 from latablaquesea
 where fecha >='06/30/1998'
 and descripcion containing "Reord"

El containing hace q incluya a todos los demas registros a partir del de 30/06/1998 q tiene como desc="Reord"?
el containing 1ra vez q lo veo :(

Gracias

Casimiro Notevi 03-07-2005 02:06:13

Sin ánimo de ofender, creo que necesitas un tutorial de sql.
El containing, como su nombre indica, incluye las descripciones que contengan la cadena buscada, pudiendo estar en cualquier posición de la misma. Ejemplo, si buscas "OLA", encontrarás todas las "mariOLAs", "OLAs", "radiOLAs", etc.

Lo principal en esta consulta que necesitas es el "Y" en lugar del "O".
Selecciona todos los registros de la tablaquequequieras
que tenga fecha mayor o igual a "06/30/1998"
Y que la descripcion contenga "REORD"
Devolverá los que cumplan las dos condiciones.
Sin embargo si pones "O" en vez de "Y", estás permitiendo ambas condiciones, por lo tanto devolverá los que tenga descripcion "REORD" y los que cumplan con la fecha pedida.

Carlex 03-07-2005 02:23:32

Ya lo logre la respuesta era una "simple" union de consultas por si les sirve:

Código:

 
SELECT *
FROM dbo.T_Detalle
WHERE (N_CI IN (SELECT N_CI
                                          FROM dbo.T_Detalle
                                          WHERE (S_DescDetalle = N'Reordenamiento'))) AND (F_FechaPago >= '30/06/1998')

Asi devuelve todos los detalles q sean mayores a 30/06/1998 q tengan desc=reord y tengan mas pagos...asi q la respuesta iba por mi idea inicial(creo q en muy pocos tutoriales se trate consultas de este tipo, y si los hay no los encontre), gracias por su tiempo

Carlex


La franja horaria es GMT +2. Ahora son las 18:53:52.

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