Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-01-2010
DasGrun DasGrun is offline
Miembro
 
Registrado: abr 2008
Posts: 109
Poder: 19
DasGrun Va por buen camino
Es tan Poderoso el Where?

quisiera saber si el Where u otro Comando tiene la capacidad de restringir un criterio que contenga un campo calculado. oh si me podian dar otra Idea mejor.
Por ejemplo
Código SQL [-]
Select Distint
id_vendor,
nombrevendor,
Sum(Total_periodo),
from vendor
where sum(Total_periodo)  > 0
group by id_vendor, nombrevendor

este es un query que lo leo de la siguiente manera, quiero que me presente el id del vendedor con el nombre y el total de su periodo pero unicamente aquellos registro que en su totalidad sea mayores que cero.

Estan Poderoso el Where? Usando el SGBD = Microsoft Sql Server 2005
Responder Con Cita
  #2  
Antiguo 28-01-2010
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.070
Poder: 32
jhonny Va camino a la famajhonny Va camino a la fama
Quizá en SQL Server existe el Having o algo parecido, podrías utilizarlo.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #3  
Antiguo 28-01-2010
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Es como dice jhonny.

En una consulta de ese tipo, primero se seleccionan los registros aplicando cualquier criterio especifcado en la cláusula WHERE (en caso de haber alguno), luego se agrupan los registros según indique la cláusula GROUP BY, y finalmente se aplica la función agregada a cada grupo, como SUM en este caso.

Esto quiere decir que no puede aplicarse WHERE a una función agregada, pues para el tiempo en que se hace el filtro, aún no se agrupa ni se aplica la función. Para ello existe la cláusula HAVING. Para filtrar después de la agrupación.

Tu consulta quedaría más o menos así:

Código SQL [-]
Select Distint
id_vendor,
nombrevendor,
Sum(Total_periodo),
from vendor
group by id_vendor, nombrevendor
having sum(Total_periodo)  > 0

// Saludos
Responder Con Cita
  #4  
Antiguo 28-01-2010
DasGrun DasGrun is offline
Miembro
 
Registrado: abr 2008
Posts: 109
Poder: 19
DasGrun Va por buen camino
Gracias Por Su Ayuda Jhonny, Roman, La Sintaxis de Having con el Group By la estava Usando Mal.
Saludos
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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


La franja horaria es GMT +2. Ahora son las 20:21:56.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi