Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Tablas planas
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-09-2007
chona chona is offline
Miembro
 
Registrado: abr 2004
Posts: 57
Poder: 21
chona Va por buen camino
Question Case en Padasox?

Hola amigos, tengo el siguiente problema en paradox. Poseo una tabla llamada ventas(fecha:date, mesa:entero, monto:money, cubiertos:entero).
Quiero consultar agrupado por fecha lo siguiente:

-Cantidad de mesas
-Suma de montos
-Suma de cubiertos
-Suma de montos si mesa=75

La sentencia sql que comence es:
Código SQL [-]
select fecha,count(mesa),sum(monto),sum(cubiertos),"suma monto si mesa=75" from ventas group by fecha
no se como sumar si la mesa es =75 en paradox, para ello existe el case?. Si no es asi como puedo solucionarlo
desde ya muchisimas gracias

Última edición por marcoszorrilla fecha: 12-09-2007 a las 16:05:57.
Responder Con Cita
  #2  
Antiguo 12-09-2007
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Me supongo que lo que quieres se solucionaría con la instrucción.
Código SQL [-]
Where Silla = 75;


Un Saludo.

Nota:Escribir todo en mayúsculas = Chillar.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 12-09-2007
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Primero : NO GRITES QUE TE ESCUCHO BIEN!!! (Escribir en mayúsculas es un poco violento)

Segundo :
No he entendido bien que quieres decir con "si la mesa es=75"
supongo que querras agrupar todos esos datos si la mesa es la número 75. Pues bien, debes usar el HAVING :
Código SQL [-]
SELECT FECHA,COUNT(MESA),SUM(MONTO),SUM(CUBIERTOS),"SUMA MONTO SI MESA=75" 
FROM VENTAS 
GROUP BY FECHA
HAVING MESA=75
Responder Con Cita
  #4  
Antiguo 12-09-2007
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Se me ocurre otra cosa :

Código SQL [-]
SELECT FECHA,COUNT(MESA),SUM(MONTO),SUM(CUBIERTOS),0
FROM VENTAS 
GROUP BY FECHA
HAVING MESA<>75
UNION
SELECT FECHA,COUNT(MESA),SUM(MONTO),SUM(CUBIERTOS),SUM(MONTO)
FROM VENTAS 
GROUP BY FECHA
HAVING MESA=75

Esto te dará los resultados con un 0 en la ultima columna si la mesa es distinta de 75 y los resultados con la suma de monto si es igual a 75.
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
Optimizar con Case XXX of TIKIMORE Varios 9 10-07-2010 17:21:20
case??? ivandelphi Varios 4 27-03-2007 00:58:55
CASE o IFF en SQL dark_c SQL 3 13-01-2007 20:07:33
Uso del Case IVAND SQL 4 05-04-2006 17:39:48


La franja horaria es GMT +2. Ahora son las 05:15:28.


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