Excerpts from Michel Vega Fuenzalida's message of mar ago 30 16:09:49 -0300 
2011:
> Soy nuevo en SQL y esta fue la solución que encontré para calcular  
> porciento de los datos mostrados

Hay un error conceptual aquí, que es que estás usando un literal
'tabla1.campo1' para contar en vez del valor del campo.  Quita las
comillas.  En caso de que haya valores nulos, el resultado será
distinto AFAIR.

Lo otro es que esto se puede hacer en forma un poco más sensata (sin
poner un subselect en el from) con una función de ventana deslizante.

> SELECT
>    count('tabla1.campo1') AS contar,
>    tabla2.campo2,
>    Round(Count('contar')*100/total::numeric, 2) AS "%"
> FROM
>    esquema.tabla1 INNER JOIN esquema.tabla2 ON (tabla1.campo1 = 
> tabla2.campo1),
>    (SELECT Count('contar') AS total FROM esequema.tabla1 WHERE campo3 = 3 AS x
> WHERE
>    campo3 = 3
> GROUP BY
>    tabla1.campo2
>    total
> ORDER BY
>    tabla1.campo2

-- 
Álvaro Herrera <[email protected]>
-
Enviado a la lista de correo pgsql-es-ayuda ([email protected])
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a