Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-09-2006
Citlalli Citlalli is offline
No confirmado
 
Registrado: may 2005
Posts: 40
Poder: 0
Citlalli Va por buen camino
de una misma tabla

Hola foreros,

estoy liado con este query que aparantemente esta sencillo pero finalmente no he podido hacerlo.

tengo una tabla que se llama ventas, dentro de esta tengo el campo total y el campo mayoreo:
------------------------
Ventas

Total - Double Precision
Mayorero - Char
------------------------

lo que quiero es hacer un query que me diga las ventas de mayoreo y las de menudeo.


algo asi

Código PHP:
Mayoreo Menudeo
$2,350 $10,659
$3,456 $12,567 
cabe mencionar que para distinguir si es mayoreo o menudeo en el campo mayoreo guardo 'S' si es verdad y 'N' si no.

es algo asi:



Código SQL [-]
SELECT Total
FROM Ventas
WHERE Mayoreo = 'S'







obviamente este query me da solo las ventas de mayoreo, y he aqui la pregunta, cómo hago para que me de las ventas de mayoreo y menudeo en un solo registro como en el ejemplo que les puse arriba?

espero haberme explicado bien, por cierto, utilizo interbase 6

muchas gracias
Responder Con Cita
  #2  
Antiguo 12-09-2006
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Código SQL [-]
SELECT V.Total, V2.Total
FROM Ventas V, Ventas V
WHERE V.Mayoreo = 'S' and V2.Mayoreo = 'N'
__________________

Responder Con Cita
  #3  
Antiguo 13-09-2006
Citlalli Citlalli is offline
No confirmado
 
Registrado: may 2005
Posts: 40
Poder: 0
Citlalli Va por buen camino
Lo siento contraveneno, pero no me funcionó tu solución, porque simplemente no me trae nada, y si tengo ventas.

por cierto, ahora me estan pidiendo tambien la fecha, entonces la tabla queda asi:

Código PHP:
Ventas
-----------------------
Fecha Timestamp
Total 
Double Precision
Mayoreo 
Char 
gracias de todas formas y sigo pidiendo ayuda
Responder Con Cita
  #4  
Antiguo 13-09-2006
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
si, eso estaba viendo, me acelere un poco en esa respuesta y ya vi que no trae nada... vamos investigando
__________________

Responder Con Cita
  #5  
Antiguo 13-09-2006
Citlalli Citlalli is offline
No confirmado
 
Registrado: may 2005
Posts: 40
Poder: 0
Citlalli Va por buen camino
de todas formas muchas gracias contraveneno, por intentar ayudarme, yo creo por ahi va la respuesta, estamos muy cerca.

gracias, sigo pidiendo ayuda
Responder Con Cita
  #6  
Antiguo 13-09-2006
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Eso no da con Sql porque estas invirtiendo columnas y filas, es un crosstab.

Toca hacerlo con cursores o reformular como se ve la informacion...
__________________
El malabarista.
Responder Con Cita
  #7  
Antiguo 13-09-2006
Citlalli Citlalli is offline
No confirmado
 
Registrado: may 2005
Posts: 40
Poder: 0
Citlalli Va por buen camino
que que que que? no entendi mamcx
Responder Con Cita
  #8  
Antiguo 19-09-2006
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
Resp

No es solo copiar y pegar verifiquen las sisntaxis que escribi een un cyber y no lo probe.
Código SQL [-]
Create Procedure "Nombre"
Return(
  "Mayoreo" Doble Presicion,
  "Menudeo" Doble Presicion
)
As 
  Declare Variable "C" char;
  Declare Variable "T" Doble Presicion
Begin
  For Select "Total", "Mayoreo" From "Ventas" Into :"T", :"C" Do Begin
    "Mayoreo" = Null;
    "Menudeo" = Null;
    If ("C" = 'M') Then
      "Mayoreo" = "T";
    Else
      "Menudeo" = "T";
    Suspend;
  End 
End
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #9  
Antiguo 19-09-2006
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Para algo así me parece exagerado un sp, cuando podría sacarse con:

Código SQL [-]
select fecha,
       case Mayoreo
         when 'S' then Total
         else null
       end Vtas_Mayoreo,
       case Mayoreo
         when 'N' then Total
         else null
       end Vtas_Menudeo
  from Ventas
 where condiciones;

Tampoco va probado, pero la idea es esa...
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #10  
Antiguo 19-09-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Coloca un tcombobox en el from, en este pon:
S
N
En el evento onchange del tcombobox pon:
Código Delphi [-]
 If tcombobox1.Text = 'S' then
TQuery1.sql.add(' SELECT Total FROM Ventas WHERE Mayoreo = '+tcombobox1+'' else
TQuery1.sql.add(' SELECT Total FROM Ventas WHERE Mayoreo = '+tcombobox1+'';
con esto se define que buscar S o N sin modificar el sql para cada dato, esta hecho rapido y sin probar Espero te de una idea general.
Saludos
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
Consulta con dos relaciones a la misma tabla mcrz2 SQL 4 23-05-2006 13:15:25
Unir una tabla consigo misma sitrico SQL 2 19-04-2005 00:06:03
Update de Campos en la Misma Tabla Jvilomar SQL 1 05-04-2005 17:35:05
Varios Tipos en una misma tabla JoanKa Firebird e Interbase 9 10-03-2005 10:18:30
Subconsulta a la misma tabla apicito SQL 3 23-07-2004 21:24:24


La franja horaria es GMT +2. Ahora son las 08:03:45.


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