Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-07-2011
escorpionrojo43 escorpionrojo43 is offline
Miembro
 
Registrado: abr 2010
Posts: 89
Poder: 15
escorpionrojo43 Va por buen camino
Crear un query que me traiga los valores de una variable

query con valores almacenados

Saludos Colegas del club

Necesito que me den una mano con este problema

Código SQL [-]
SELECT IIF([jugada]= :edit1.text,[valor]*100,IIF([jugada]= :edit2.text,[valor]*10,IIF([jugada]= :edit3.text,[valor]*1," "))) as campo11, *

FROM TICKET_DETALLE where (fecha = :DateTimePicker1.date) and (jugada = :edit1.text or  jugada = :edit2.text or jugada = :edit3.text)
order by len(jugada),jugada;

Los resultados que obtengo son algo como esto

campo11 TICKETID loc_codigo cia_codigo jugada fecha
5000 8 1 1 10 10/07/2011
500 8 1 1 20 10/07/2011
50 8 1 1 30 10/07/2011


el punto que necesito es que quiero que me muestre esto

Código:
campo11	TICKETID	loc_codigo	cia_codigo	jugada	fecha
5000          8      	1	         1	        10	        10/07/2011
500	        8	        1	         1	        20      	10/07/2011
50	        8	        1	         1	        30	        10/07/2011
10000        8              1               1              1020          10/07/2011
10000        8              1               1              1030          10/07/2011
1000          8              1               1              2030         10/07/2011
1000000     8              1               1              102030      10/07/2011
el asunto es que los numeros dados en los edit son (edit1=10) (edit2=20) (edit3=30)

Última edición por ecfisa fecha: 14-07-2011 a las 22:34:45.
Responder Con Cita
  #2  
Antiguo 14-07-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
hola
primero que nada una leida a la guia de estilos.. porque el titulo query como que no nos dice mucho del problema que tienes

no sabemos que informacion tiene la tabla, supuestamete el valos debe multiplicarse de acuerdo al parametro

explica un poco mas que es lo que tiene la tabla que esperas obtener y usa los tags para poder entender mejor el mensaje

saludos
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #3  
Antiguo 14-07-2011
escorpionrojo43 escorpionrojo43 is offline
Miembro
 
Registrado: abr 2010
Posts: 89
Poder: 15
escorpionrojo43 Va por buen camino
Ok perdena los errores de estilo de explicacion del problema.

tengo una tabla llamada ticket_detalle la cual esta compuesta de los sigueintes campos:

TICKETID :string
loc_codigo :string
cia_codigo :string
jugada :string
fecha :datetime

la informacion que tengo algo parecido a esto
**jugada**
30
10
20
1020
1030
2030
102030
88
15
99
8815
8899

en el query mando a buscar los valores de las variables edit1, edit2 y edit3
dichos valores son: 10, 20, 30 notason del tipo String)
deseo que me traiga estos valores


10
20
30
1020
1030
2030
102030

y que si los valores de las variables edit fueran 10,20,60
los resultados sean

10
20
1020

el campo11 es un campo virtual en el que dice algo
ejemplo:
10 --- "1ro"
20 --- "2do"
30 --- "3ro"
1020 -- "combinacion 1ro y 2do"
2030 -- "Combinacion 2do y 3ro"

espero que este mas claro ahora
gracias.
Responder Con Cita
  #4  
Antiguo 15-07-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Recuerda seguir nuestras normas, una de ellas es poner títulos descriptivos a los mensajes, "Query" no es ningún título descriptivo.

También recuerda que cuandos pongas código debes encerrarlo entre las etiquetas correspondientes. Gracias por tu colaboración.





.
Responder Con Cita
  #5  
Antiguo 15-07-2011
escorpionrojo43 escorpionrojo43 is offline
Miembro
 
Registrado: abr 2010
Posts: 89
Poder: 15
escorpionrojo43 Va por buen camino
Wink Perdon por el error

Cita:
Empezado por Casimiro Notevi Ver Mensaje
Recuerda seguir nuestras normas, una de ellas es poner títulos descriptivos a los mensajes, "Query" no es ningún título descriptivo.

También recuerda que cuandos pongas código debes encerrarlo entre las etiquetas correspondientes. Gracias por tu colaboración.





.
Hermano ya pedi disculpas por ese error queria cambiar el titulo pero ya no lo puedo hacer.

Aun espero que alguien me ayude a solucionar el problema en el query mencionado.

Y les pido disculpas otra vez por el error.
Responder Con Cita
  #6  
Antiguo 15-07-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Disculpa, pero no he entendido exactamente qué quiéres obtener.
Responder Con Cita
  #7  
Antiguo 15-07-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Para me el asunto, segun lo que entiendo esta asi:
Tiene un valor de jugada que es de 50 (segun el ejemplo).
Lo que intenta es con una sentencia IIF determinar los valores finales dependiendo de los edits.
Lo que pasa es que coloca una sentencia IIF enlazada a otras dos.

IIF(jugada = X1, Valor * Y, IFF(jugada = X2, Valor * Z, IFF (Jugada = X3, Valor * S, Nada ) as total.

El problema para mi es que al enlazar los IFF los valores que consigue no se suman en los edits y por eso no coinciden.
Bueno, es lo que entiendo de esto.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #8  
Antiguo 15-07-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
El problema que siento es que la sentiencia IFF da los valores corectos.

IFF(valor = lo que sea, primera opción, segunda opción).

IFF(valor = '1', 1, 0) as total.

Por consiguiente en su caso no solo tiene la primera si no todas las otras juntas.

Saludos
__________________
Siempre Novato
Responder Con Cita
  #9  
Antiguo 15-07-2011
escorpionrojo43 escorpionrojo43 is offline
Miembro
 
Registrado: abr 2010
Posts: 89
Poder: 15
escorpionrojo43 Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Disculpa, pero no he entendido exactamente qué quiéres obtener.
Mi problema que ya tengo un query que me trae los resultados pero necesito que las variables se concatenen

ejemplo mi variable edit1, edit2 y edit3 tienen valores de 10,20 y 30
en la consulta me traes esos tres valores pero tengo otros valores como
1020 y 1030
que quiero vengan en la consulta pero que estos vengan como resultado de las mismas 3 variables

si en mi varariable hay un valor de 10 y 30 me traiga tambien el valor 1030
Responder Con Cita
  #10  
Antiguo 15-07-2011
escorpionrojo43 escorpionrojo43 is offline
Miembro
 
Registrado: abr 2010
Posts: 89
Poder: 15
escorpionrojo43 Va por buen camino
Exclamation Ayuda Para crear un query que me traiga los valores de una variable

Hola
Por los errores que cometi en el otro post me vi en la necesidad de hacer este otro.
Necesito que me ayuden con este query

Código SQL [-]
SELECT =IIf([jugada]= :var1,"Primera",
IIF([jugada]=:var2,"Segunda",
IIF([jugada]=:var3,"Tercera"," "))) AS campo11, 
* From ticket_detalle

Las variables que contienen los datos son var1, var2, y var3
los datos en la consulta actual son 10, 20 y 30.
Los que estan encerrado son las posibles concatenaciones de las 3 variable
que son los que me faltan por traer

los que estan con la linea roja son los datos que ya pude obtener



queria hacerlo con la opcion case pero me fue imposible ejecutar un select case

espero me puedan ayudar.
Gracias
Responder Con Cita
  #11  
Antiguo 15-07-2011
escorpionrojo43 escorpionrojo43 is offline
Miembro
 
Registrado: abr 2010
Posts: 89
Poder: 15
escorpionrojo43 Va por buen camino
Thumbs up

Amigos Perdonenme una vez mas.
me vi en la necesidad de hacer otro hilo en el cual defino mejor y con una imagen de que es lo que quiero.

este es el hilo http://www.clubdelphi.com/foros/showthread.php?t=74880

como siempre cuento con su apoyo. gracias
Responder Con Cita
  #12  
Antiguo 15-07-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Me imagino que es una concatenacion de los edits:
Código SQL [-]
SELECT =
IIf([jugada]= :var1 + :var2,"PrimeraYSegunda",
IIF([jugada]= :var2 + :var3,"SegundaYTercera",
IIF([jugada]= :var1 + :var3,"PrimeraYTercera",
IIF([jugada]= :var1 + :var2 + :var3,"PrimeraYSegundaYTercera"," "))) AS Campo11, 
* From ticket_detalle
Saludos
__________________
Siempre Novato
Responder Con Cita
  #13  
Antiguo 15-07-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
He unido ambos hilos, se ve que nuestro amigo todavía no ha leído la guía de estilo. No sé la necesidad que había de abrir otro hilo, en lugar de continuar con este
Responder Con Cita
  #14  
Antiguo 15-07-2011
escorpionrojo43 escorpionrojo43 is offline
Miembro
 
Registrado: abr 2010
Posts: 89
Poder: 15
escorpionrojo43 Va por buen camino
Cita:
Empezado por Caral Ver Mensaje
Hola
Me imagino que es una concatenacion de los edits:
Código SQL [-]
SELECT =
IIf([jugada]= :var1 + :var2,"PrimeraYSegunda",
IIF([jugada]= :var2 + :var3,"SegundaYTercera",
IIF([jugada]= :var1 + :var3,"PrimeraYTercera",
IIF([jugada]= :var1 + :var2 + :var3,"PrimeraYSegundaYTercera"," "))) AS Campo11, 
* From ticket_detalle
Saludos
Gracias por la ayuda. esto me funciona bien caral.

Ahora me surge otra necesidad

dadas las variables
10,20,30

tengo en la tabla jugada estos datos
402030 -- en este caso lo dos ultimos cumplen pero el primero no.
2010 ---- en este caso cumple la condicion solo que no tiene el mismo orden

que puedo hacer para que estos me salgan en la consulta

Última edición por escorpionrojo43 fecha: 15-07-2011 a las 02:41:22.
Responder Con Cita
  #15  
Antiguo 15-07-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Creo que si tienes varias variables o si tienes varios datos me parece que seria mejor crear inicialmente las variables que puedas tener y posteriormente hacer la consulta sobre esas variables.
Tambien se podria usar <> (diferente a) pero me da la impresion de que puedes tener tantas diferencias que solo tu sabes cuales seran.
Saludos
__________________
Siempre Novato
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Pasar valores a variable String separados por coma Dclase SQL 7 04-11-2008 17:55:01
Cómo puedo hacer para que una variable valga 2 valores al mismo tiempo wlad Internet 15 19-12-2007 18:06:03
Cómo asignar valores a una variable tipo Array quinqui OOP 7 23-06-2006 15:59:17
Pasar valores a una variable tipo const Reyhert Varios 3 27-06-2004 17:55:07
Consulta con una variable en un Query Ricsato SQL 3 25-11-2003 22:47:37


La franja horaria es GMT +2. Ahora son las 07:35:36.


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
Copyright 1996-2007 Club Delphi