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 30-11-2009
m8estrella83 m8estrella83 is offline
Miembro
 
Registrado: ene 2006
Posts: 58
Poder: 19
m8estrella83 Va por buen camino
if dentro de una consulta

Buenas !!!

Perdon por mi pregunta pero quisiera saber si lo que intento hacer esta correcto y ademas como podria hacerlo.


intento hacer una consulta mas o menos asi:

select camp1, if (camp2 = 1, sum(camp3) as primer, sum(camp4) as segundo)
group by camp1


El problema es cuando intento sumar dependiendo del valor del campo tres si es 1 que cree un campo llamado primer y si no que cree un campo llamado segundo
espero me explique

de antemano muchas gracias
Responder Con Cita
  #2  
Antiguo 01-12-2009
pcicom pcicom is offline
Miembro
 
Registrado: may 2003
Ubicación: MONTERREY MEXICO
Posts: 253
Poder: 22
pcicom Va por buen camino
Intenta ESTO

Código SQL [-]

select camp1, 
 SUM(if(camp2=1,camp3,0) AS PRIMERO,
 SUM(if(camp2=1,0,camp4) AS SEGUNDO
group by camp1

SALUDOS..
__________________
Poco ha de saber el que no pregunta.. Yo por eso soy un pregunton
Responder Con Cita
  #3  
Antiguo 01-12-2009
m8estrella83 m8estrella83 is offline
Miembro
 
Registrado: ene 2006
Posts: 58
Poder: 19
m8estrella83 Va por buen camino
Puse el codigo como me dijiste y nada no funciona


Me marca error "Invalid use of keyword"


yo creo anda mal la sintaxis del if
Responder Con Cita
  #4  
Antiguo 01-12-2009
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.003
Poder: 26
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
¿Qué gestor de base de datos utilizas?
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
  #5  
Antiguo 01-12-2009
m8estrella83 m8estrella83 is offline
Miembro
 
Registrado: ene 2006
Posts: 58
Poder: 19
m8estrella83 Va por buen camino
Utilizo paradox 7 y delphi 5
Responder Con Cita
  #6  
Antiguo 03-12-2009
Avatar de TheJHorse
TheJHorse TheJHorse is offline
Miembro
 
Registrado: dic 2005
Posts: 13
Poder: 0
TheJHorse Va por buen camino
Bueno no uso Paradox, solo MS SQL Server, haber si te sirve este codigo:

Código SQL [-]
SELECT camp1, [campo nuevo]=
CASE camp2
WHEN 1 THEN (SELECT SUM(t.camp3) FROM tablax t WHERE t.camp1=tablax.camp1 GROUP BY t.camp1)
ELSE (SELECT SUM(t.camp4) FROM tablax t WHERE t.camp1=tablax.camp1 GROUP BY t.camp1)
END
FROM tablax

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
Cambio de Moneda dentro de una consulta MaMu SQL 2 10-03-2008 05:34:26
Consulta dentro de otra consulta judit25 Conexión con bases de datos 1 25-06-2007 16:52:15
Uso de un IF dentro de una Consulta.... chileno SQL 2 13-07-2006 21:05:14
Intraweb: Ejecutar una consulta dentro del propio ACCESS Brewster Internet 6 09-06-2004 17:20:01
Consulta dentro de un ClientDataSet burasu SQL 1 18-06-2003 09:23:53


La franja horaria es GMT +2. Ahora son las 01:04:18.


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