Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

ayuda en mi select

Estas en el tema de ayuda en mi select en el foro de Bases de Datos General en Foros del Web. Hola amigos necesito una ayuda en mi select.. porfavor si yo hago un count de cuantas personas hay en total en mi tabla me sale ...
  #1 (permalink)  
Antiguo 01/06/2004, 11:31
Avatar de elbueno45  
Fecha de Ingreso: noviembre-2003
Ubicación: lima
Mensajes: 97
Antigüedad: 20 años, 5 meses
Puntos: 0
ayuda en mi select

Hola amigos necesito una ayuda en mi select.. porfavor

si yo hago un count de cuantas personas hay en total en mi tabla me sale normal.. pero si dentro de ese select
quiero saber tambien cuantas de esas personas en total son de lima, y de esas personas de lima cuantas
son mujeres, como haria un unico select de esto????... si yo pongo en el where ciudad='lima' and sexo='mujeres' me va
a contar solo las mujeres de lima, y las de provincia?????? como veo cuantos son de provincia o hombres si ya puse la
condicion que solo cuente mujeres de lima porfavor necesito ayuda porfavor.. si realizo 3 querys va a ser mas
lenta mi pagina jsp.. ya que tendra que
leer tres veces lo que lo puede leer en una

lo que quiero que haga mi select es esto;

personas en total
personas en lima
personas en provincia
mujeres en lima
hombres en lima
mujeres en provincia
hombres en provincia

estaba provando con having.. pero no se puede como lo hagooooo!!!!

se los agradecere mucho.. espero su ayuda
es urgente gracias
__________________
elbueno45
  #2 (permalink)  
Antiguo 01/06/2004, 12:42
Avatar de padrino  
Fecha de Ingreso: mayo-2004
Ubicación: Aguascalientes, Ags. la tierra de la gente buena
Mensajes: 161
Antigüedad: 20 años
Puntos: 0
semi respuesta

mira en vez de definir wl where constantemente hazlo dinamicamente esto es la condicion metela en una variable string y concatenale al select


cuando haces la consulta me imagino que tienes un combobox o check box en el cual le indicas como quieres tu reporte

combobox1 combobox2
personas total
lima
provincia


combobox3 combobox4
sexo masculino
femenino



los combos tienen el nombre de una variable en el cual regresa el valor seleccionado


ejemplo con php

"select * from name_table where (" . $namecb1 . "=" . $namecb2 . ") AND (" . $namecb3 . "=" . $namecb4 . ");";



LISTO ESPERO ME ENTIENDAS EL MENSAJE QUE TE QUISE DECIR, SI NO PUES PON MAS CODIGO PARA PODER SER MAS ESPECIFICOS.


ADIOS


ATTE
JOSE MANUEL (AGUASCALIENTES, AGS. MEXICO)
  #3 (permalink)  
Antiguo 01/06/2004, 12:44
Avatar de padrino  
Fecha de Ingreso: mayo-2004
Ubicación: Aguascalientes, Ags. la tierra de la gente buena
Mensajes: 161
Antigüedad: 20 años
Puntos: 0
SORRY SE DEFORMO EL TEXTO

combobox1
personas

combobox2
total
lima
provincia

combobox3
sexo

combobox4
masculino
femenino
  #4 (permalink)  
Antiguo 01/06/2004, 13:05
Avatar de elbueno45  
Fecha de Ingreso: noviembre-2003
Ubicación: lima
Mensajes: 97
Antigüedad: 20 años, 5 meses
Puntos: 0
No disculpa amigo.. veo que no detalle muy bien la pregunta, no quiero a ser combox lo que quiero es que me imprima todas las cantidades que pido en 1 solo select..

osea
quiero que mi unico query haga el
---------------------------------------------------
totalpers |#pers(lima) |#pers(prov) |#muj(lima) |#hom(lima) |#muj(prov) |#hom(prov)
100 | 70 | 30 | 38 | 32 | 19 | 11

pero no se como hacerlo ya que si en el where solo digo mujeres de lima.. solo me muestra esas cantidades y el resto ya no.. por eso quiero que todo esto se haga en un solo query.. y no varios.. solo quiero el query nada mas

espero ahora haberme explicado bien.. disculpa si te hice confundir.. gracias por tu ayuda..

si supieras lo que te digo ahora.. te lo agradecere mucho.. lo necesito urgente
__________________
elbueno45
  #5 (permalink)  
Antiguo 01/06/2004, 13:19
Avatar de Avelar  
Fecha de Ingreso: noviembre-2002
Ubicación: Ensenada, Baja California, México
Mensajes: 673
Antigüedad: 21 años, 5 meses
Puntos: 1
A mi lo que se me ocurre es hacerlo con subconsultas...
__________________
Ariel Avelar
  #6 (permalink)  
Antiguo 01/06/2004, 14:00
Avatar de elbueno45  
Fecha de Ingreso: noviembre-2003
Ubicación: lima
Mensajes: 97
Antigüedad: 20 años, 5 meses
Puntos: 0
Ahora les mando la pregunta completa lo quiero realizar es lo siguiente
si se dan cuenta el #pers(lima) + #pers(prov) es igual al total.. y mujeres y hombres de prov es igual al #pers(prov) todo es lo mismo
lo que quiero es que el select me jale las cantidades de cada uno.. Avelar pero cuando me dices subconsultas.. olvide decir que estan separados por meses por q muchas personas entran cada mes.. eso lo hace un group by month(fecha) en eso no hay problema

Código HTML:
<body><table border="1"><tr><td></td><td>totalpers</td><td>#pers(lima)</td><td>#pers(prov)</td><td>#muj(lima)</td><td>#hom(lima)</td><td>#muj(prov)</td><td>#hom(prov)</td></tr>
<tr><td>Ene</td><td>100</td><td>70</td><td>30</td><td>38</td><td>32</td><td>19</td><td>11</td></tr>
<tr><td>Feb</td><td>120</td><td>62</td><td>58</td><td>30</td><td>32</td><td>13</td><td>45</td></tr>
<tr><td>Mar</td><td>80</td><td>37</td><td>43</td><td>30</td><td>7</td><td>24</td><td>19</td></tr>
<tr><td>Abr</td><td>200</td><td>150</td><td>50</td><td>78</td><td>73</td><td>25</td><td>25</td></tr></table></body> 
lo que quiero es los totales.. por favor espero ahora si me hayan entendido mejor gracias..
espero su ayuda
__________________
elbueno45
  #7 (permalink)  
Antiguo 01/06/2004, 14:10
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Porque no ocupas un group by con UNION ?

Por ejemplo:

Cita:
select provincia, count(*) as Total
from tabla
group by provincia
having sexo = 'MASCUINO'
UNION
select provincia, count(*) as Total
from tabla group by provincia
having sexo = 'FEMENINO'
con ello te devuelve el total de cada páis, tanto de hombres como de mujeres.

Saludos y suerte
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #8 (permalink)  
Antiguo 01/06/2004, 14:25
Avatar de elbueno45  
Fecha de Ingreso: noviembre-2003
Ubicación: lima
Mensajes: 97
Antigüedad: 20 años, 5 meses
Puntos: 0
si he hecho esto.. pero lo que pasa es que devuelve cada dato uno bajo el otro.. no sale en horizontal como una consulta comun lo hace.. ademas todos estos datos los quiero ingresara una tabla y ahi eso me va ocasionar problemas.. ademas queria saber si se podia en un solo select.. al hacer el union.. es lo mismo que a ser los 3 querys que dije al comienzo solo unidos por UNION, va a demorar lo mismo en cargar, y lo que quiero tambien es rapidez.. pero es algo q suena tan simple no creo que no se pueda a ser.. espero su ayuda
__________________
elbueno45
  #9 (permalink)  
Antiguo 01/06/2004, 15:18
 
Fecha de Ingreso: mayo-2004
Ubicación: Guadalajara, Jalisco
Mensajes: 47
Antigüedad: 20 años
Puntos: 0
Pues como dijo Avelar, parece que la única forma es con subconsultas,
algo como esto:

SELECT PersLima.Cant, PersProv.Cant, PersMuj.Cant
(SELECT 1 as ID, Count(Pers) FROM Tabla WHERE Pais='Lima') AS PersLima
JOIN
(SELECT 1 AS ID, Count(Pers) FROM Tabla WHERE Prov=Prov) AS PersProv
ON PersLima.ID=PersProv.ID JOIN
(SELECT 1 AS ID, Count(Pers) FROM Tabla WHERE S='M') AS PersMuj
ON PersMuj.ID=PersLima.ID

Bueno, seria algo parecido, al menos es lo que se me ocurre de forma rápida...

espero te sirva.
__________________
Si puedes pensarlo, puedes hacerlo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:25.