Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Duda SQL (https://www.clubdelphi.com/foros/showthread.php?t=70611)

jandro 30-10-2010 21:35:45

Duda SQL
 
Hola a todos!!

Tengo una consulta en mi base de datos como esta:

SELECT * FROM LLAMADAS WHERE Usuario = :cod and (Fecha >= :Dia1 and Fecha <= :Dia2) and Remite=:Remite

Hasta aquí todo bien, si meto el nombre de cualquier remitente en la variable Remite, todo funciona ok.

Mi duda es si con esta misma expresion puedo ver el resultado para todos los remitentes. Algo como que el Remite sea igual a *, pero no se como hacerlo.

Espero que me puedan ayudar.

Un saludo.

Casimiro Notevi 30-10-2010 22:26:20

Omite la parte de remite.

SELECT * FROM LLAMADAS WHERE Usuario = :cod and (Fecha >= :Dia1 and Fecha <= :Dia2)

marcoszorrilla 30-10-2010 22:30:43

Y para utilizar las dos formas indistintamente, puedes colocar una condición en el SQL.
Código SQL [-]
if loquesea then
Query1.Sql.Add('And Remitente = '+QuotedStr(cRemitente);

Un Saludo.

jandro 30-10-2010 22:31:46

Cita:

Empezado por Casimiro Notevi (Mensaje 380973)
Omite la parte de remite.

SELECT * FROM LLAMADAS WHERE Usuario = :cod and (Fecha >= :Dia1 and Fecha <= :Dia2)

Asi si se que funciona, pero lo que quiero es usar la misma funcion, no estar cambiandola segun la necesidad. Simplemente queria saber si existia alguna otra forma de hacerlo.

Gracias por la respuesta.
Saludos.

AzidRain 30-10-2010 22:32:23

Código SQL [-]
SELECT * FROM LLAMADAS WHERE Usuario = :cod and (Fecha >= ia1 and Fecha <= ia2) and Remite LIKE "'%' + :Remite +'%'"
asi te sirve pongas o no nada en :Remite

marcoszorrilla 30-10-2010 22:35:21

Al final me quedo con la opción de AzidRain, porque como él dice sirve para los dos casos sin tener que implementar un If.

Un Saludo.

jandro 30-10-2010 22:52:12

Cita:

Empezado por AzidRain (Mensaje 380977)
Código SQL [-]
SELECT * FROM LLAMADAS WHERE Usuario = :cod and (Fecha >= ia1 and Fecha <= ia2) and Remite LIKE "'%' + :Remite +'%'"
asi te sirve pongas o no nada en :Remite

Muchas gracias.

Lo he solucionado. Aunque no me funciona tal cual tu lo has escrito, pero me has dado la luz que necesitaba para conseguirlo.
Ahora lo que hago cuando quiero ver con todos los remitentes es pasarle como remite a la funcion '%'. Con esto simplemento lo he solucionado.

Gracias de nuevo.
Saludos.


La franja horaria es GMT +2. Ahora son las 04:59: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