Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   if dentro de una consulta (https://www.clubdelphi.com/foros/showthread.php?t=65246)

m8estrella83 30-11-2009 22:42:41

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

pcicom 30-11-2009 23:22:22

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..

m8estrella83 01-12-2009 00:26:24

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

Ñuño Martínez 01-12-2009 01:04:44

¿Qué gestor de base de datos utilizas?

m8estrella83 01-12-2009 01:13:26

Utilizo paradox 7 y delphi 5

TheJHorse 03-12-2009 14:39:16

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


La franja horaria es GMT +2. Ahora son las 14:12:09.

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