Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   ¿como hacer un conteo con una cadena? (https://www.clubdelphi.com/foros/showthread.php?t=47250)

Nelly 22-08-2007 19:13:53

¿como hacer un conteo con una cadena?
 
Hola a todos.
Tengo la siguiente consulta,lo que hace es contar la cantidad de personas por municipio dependiendo del rango de edad que se desee consultar. El cual me arroja un resultado como este:
nombre_mpo count
Abala 1,410

Ahora lo que quiero es que de la cantidad 1,410, me muestre cuantos hombres y cuantas mujeres hay en ese municipio, porque como esta solo me muestra el total, pero el problema es que no tengo ningun campo con el dato del sexo, pero si tengo uno que se llama cve_elector que contiene el siguiente dato:'ABABAL67012231H900', la letra marcada de rojo me dice si es hombre(H) o mujer(M). El mayor problema aqui es como hago para contar solo esa posición?... Y poder agregar a la consulta, el caso es que me debe quedar algo asi:
nombre_mpo total Hombres Mujeres
Abala 1,410 (dependiendo) (dependiendo)

select m.nombre_mpo,count(p.edad) from padron2004_a p inner join
mpo_cdto m on m.cve_mpo=p.cve_mpo
WHERE (p.edad between :edad1 and :edad2)
group by m.nombre_mpo

Utilizo firebird 2.0

eduarcol 22-08-2007 19:16:31

Cita:

Empezado por Nelly (Mensaje 225233)
siguiente dato:'ABABAL67012231H900', la letra marcada de rojo me dice si es hombre(H) o mujer(M). El mayor problema aqui es como hago para contar solo esa posición?...

no puedes explicar un poco mas que contiene ese campo??

Nelly 22-08-2007 19:29:43

El campo cve_elec es un varchar de 18 caracter, es una clave unica, las primeras 6 letras es(dos letras para el apellido peterno, dos para el materno y dos para el nombre), los 8 digitos son, del año, mes, dia de nacimiento y dos del estado, luego viene el sexo, H(hombre),M(mujer). Y los ultimos 3 digitos es un asignado de forma automatica.
'ABABAL67012231H900'

basti 22-08-2007 20:03:33

Algo así:

Código SQL [-]
select first 1 (select count(*) from padron_2004 where substring(cve_elector from 15 for 1) = 'H') as hombres, 
                  (select count(*) from padron_2004 where substring(cve_elector from 15 for 1) = 'M') as mujeres 
         from padron_2004

Nelly 22-08-2007 20:49:36

Pero ahora como agregarias esa parte de consulta, a la que tengo, pues la que mostre en el mensaje anterior solo le falta agregar la parte que indicas, como seria eso?


La franja horaria es GMT +2. Ahora son las 23:46:25.

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