Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/12/2008, 05:29
estoquera44
 
Fecha de Ingreso: mayo-2003
Mensajes: 70
Antigüedad: 21 años, 9 meses
Puntos: 0
Duda con sum y count en select segun campo de tipo bit

Muy buenas, a ver si alguien me puede echar una manilla con esto.

Tengo esta select:

SELECT pr.Nombre, Count(CodPedido) as 'Pedidos Total',
CASE pr5.IvaSiNo WHEN 1 THEN SUM(pr5.Importe) END as totalcon,
CASE pr5.IvaSiNo WHEN 0 THEN SUM(pr5.Importe) END as totalsin
FROM gesberna_pedidos pr5 INNER JOIN gesberna_clientes pr ON pr.CodCliente = pr5.CodCliente
WHERE 1=1
GROUP BY pr.Nombre, IVASino

que me devuelve el total de pedidos de un cliente y la suma de los que son con iva y de los que no. Si es con iva o no lo marca un campo de tipo bit llamado IVASiNo.

El resultado que me devuelve es

NOMBRE / Pedidos Total / totalcon / totalsin
Cliente 1 / 1 / NULL / 5200
Cliente 2 / 1 / NULL / 1520
Cliente 1 / 1 / 100 / NULL
Cliente 3 / 1 / 105 / NULL

Como puedes ver me devuelve dos lineas con el mismo cliente, una con la suma de los pedidos con iva y otra con la suma de los pedidos sin iva.

Yo querría que me lo mostrara de la siguiente forma, con una sola linea por cliente

NOMBRE / Pedidos Total / totalcon / totalsin
Cliente 1 / 2 / 100 / 5200
Cliente 2 / 1 / NULL / 1520
Cliente 3 / 1 / 105 / NULL

Esta es la estructura de la tabla gesberna_pedidos por si ayuda
CodPedido int
CocCliente int
IvaSiNo bit
Importe float
Fecha datetime

Muchas gracias.