Tabla en DataSet

20/12/2005 - 00:53 por Amaia Ruiz | Informe spam
Hola foro:

De una cnosulta sql, quiero sacar cuantos hombres y mujeres han visitado un
casino. El caso, es que la tabla, me sale en este formato:

hombres mujeres
3 0
0 4

Yo quiero hacerlo para que me salga así:

hombres mujeres
3 4

Se podría conseguir eso?. Os agradecería cualquier ayuda. El procedimiento
almacenado que yo tengo es el siguiente:

CREATE Procedure ListadoClientesDistintos @fecha1 as datetime, @fecha2 as
datetime AS
select
(case when H.numero is null then '0' else H.numero end) as hombres,
(case when M.numero is null then '0' else M.numero end) as mujeres
FROM
(SELECT C.sexo, count(VIS.NumCli) as numero
FROM (CLIENTE AS C INNER JOIN VISITAS AS VIS ON VIS.NumCli =
C.NumCli)

WHERE (C.sexo= 'V' or c.sexo is null) and VIS.Fecha between @fecha1
and @fecha2 and VIS.numvisita =1
GROUP BY C.sexo) AS H

FULL OUTER JOIN

(SELECT C.sexo, count(VIS.NumCli) as numero
FROM (CLIENTE AS C INNER JOIN VISITAS AS VIS ON VIS.NumCli =
C.NumCli)
WHERE (C.sexo= 'F' or c.sexo is null) and VIS.Fecha between @fecha1 and
@fecha2
GROUP BY C.sexo) AS M

ON H.Sexo= M.sexo
ORDER BY M.sexo

Preguntas similare

Leer las respuestas

#1 Eduardo Alvarado Meza
20/12/2005 - 08:01 | Informe spam
No te funcionaria algo como:

Select (Select Count(*) From ...Inner join .. on... Where . Sexo = M)
As Hobres,
(Select Count(*) From ...Inner join .. on... Where . Sexo = M) As
Mujeres

"Amaia Ruiz" escribió en el mensaje
news:
Hola foro:

De una cnosulta sql, quiero sacar cuantos hombres y mujeres han visitado
un
casino. El caso, es que la tabla, me sale en este formato:

hombres mujeres
3 0
0 4

Yo quiero hacerlo para que me salga así:

hombres mujeres
3 4

Se podría conseguir eso?. Os agradecería cualquier ayuda. El procedimiento
almacenado que yo tengo es el siguiente:

CREATE Procedure ListadoClientesDistintos @fecha1 as datetime, @fecha2 as
datetime AS
select
(case when H.numero is null then '0' else H.numero end) as hombres,
(case when M.numero is null then '0' else M.numero end) as mujeres
FROM
(SELECT C.sexo, count(VIS.NumCli) as numero
FROM (CLIENTE AS C INNER JOIN VISITAS AS VIS ON VIS.NumCli > C.NumCli)

WHERE (C.sexo= 'V' or c.sexo is null) and VIS.Fecha between @fecha1
and @fecha2 and VIS.numvisita =1
GROUP BY C.sexo) AS H

FULL OUTER JOIN

(SELECT C.sexo, count(VIS.NumCli) as numero
FROM (CLIENTE AS C INNER JOIN VISITAS AS VIS ON VIS.NumCli > C.NumCli)
WHERE (C.sexo= 'F' or c.sexo is null) and VIS.Fecha between @fecha1 and
@fecha2
GROUP BY C.sexo) AS M

ON H.Sexo= M.sexo
ORDER BY M.sexo





Respuesta Responder a este mensaje
#2 Amaia Ruiz
21/12/2005 - 00:15 | Informe spam
Hola Eduardo:

No me solucionó absolutamente nada. Estoy igual... venga, saludos



"Eduardo Alvarado Meza" escribió:

No te funcionaria algo como:

Select (Select Count(*) From ...Inner join .. on... Where . Sexo = M)
As Hobres,
(Select Count(*) From ...Inner join .. on... Where . Sexo = M) As
Mujeres

"Amaia Ruiz" escribió en el mensaje
news:
> Hola foro:
>
> De una cnosulta sql, quiero sacar cuantos hombres y mujeres han visitado
> un
> casino. El caso, es que la tabla, me sale en este formato:
>
> hombres mujeres
> 3 0
> 0 4
>
> Yo quiero hacerlo para que me salga así:
>
> hombres mujeres
> 3 4
>
> Se podría conseguir eso?. Os agradecería cualquier ayuda. El procedimiento
> almacenado que yo tengo es el siguiente:
>
> CREATE Procedure ListadoClientesDistintos @fecha1 as datetime, @fecha2 as
> datetime AS
> select
> (case when H.numero is null then '0' else H.numero end) as hombres,
> (case when M.numero is null then '0' else M.numero end) as mujeres
> FROM
> (SELECT C.sexo, count(VIS.NumCli) as numero
> FROM (CLIENTE AS C INNER JOIN VISITAS AS VIS ON VIS.NumCli > > C.NumCli)
>
> WHERE (C.sexo= 'V' or c.sexo is null) and VIS.Fecha between @fecha1
> and @fecha2 and VIS.numvisita =1
> GROUP BY C.sexo) AS H
>
> FULL OUTER JOIN
>
> (SELECT C.sexo, count(VIS.NumCli) as numero
> FROM (CLIENTE AS C INNER JOIN VISITAS AS VIS ON VIS.NumCli > > C.NumCli)
> WHERE (C.sexo= 'F' or c.sexo is null) and VIS.Fecha between @fecha1 and
> @fecha2
> GROUP BY C.sexo) AS M
>
> ON H.Sexo= M.sexo
> ORDER BY M.sexo
>
>
>
>
>



Respuesta Responder a este mensaje
#3 Rodolfo
05/01/2006 - 17:15 | Informe spam
Hola, podrias intentar algo mas simple.

Declare @Varones int
Declare @Mujeres int

SELECT @Varones = (SELECT QUE CUENTA EL TOTAL DE VARONES)
SELECT @Mujeres = (SELECT QUE CUENTA EL TOTAL DE MUJERES)

Despues solo lo muestras
SELECT @Varones, @Mujeres


Ojala te sirva

Rodolfo.


Amaia Ruiz escribió:
Hola foro:


De una cnosulta sql, quiero sacar cuantos hombres y mujeres han visitado un

casino. El caso, es que la tabla, me sale en este formato:

hombres mujeres
3 0
0 4

Yo quiero hacerlo para que me salga así:

hombres mujeres
3 4

Se podría conseguir eso?. Os agradecería cualquier ayuda. El procedimiento
almacenado que yo tengo es el siguiente:

CREATE Procedure ListadoClientesDistintos @fecha1 as datetime, @fecha2 as
datetime AS
select
(case when H.numero is null then '0' else H.numero end) as hombres,
(case when M.numero is null then '0' else M.numero end) as mujeres
FROM
(SELECT C.sexo, count(VIS.NumCli) as numero
FROM (CLIENTE AS C INNER JOIN VISITAS AS VIS ON VIS.NumCli =
C.NumCli)

WHERE (C.sexo= 'V' or c.sexo is null) and VIS.Fecha between @fecha1
and @fecha2 and VIS.numvisita =1
GROUP BY C.sexo) AS H

FULL OUTER JOIN

(SELECT C.sexo, count(VIS.NumCli) as numero
FROM (CLIENTE AS C INNER JOIN VISITAS AS VIS ON VIS.NumCli =
C.NumCli)
WHERE (C.sexo= 'F' or c.sexo is null) and VIS.Fecha between @fecha1 and
@fecha2
GROUP BY C.sexo) AS M

ON H.Sexo= M.sexo
ORDER BY M.sexo





email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida