MI EXPERIENCIA EN SQL ES MINIMA ES POR ESO NECESITO DE USTEDES..... GRACIAS.

16/07/2003 - 19:16 por Marcelo Cuevas | Informe spam
Hola que tal amigos mi experiencia en sql es minima necesito un poco de
ayuda.
Miren tengo esta informacion en una tabla temporar llamada #tab

fecha referencia nombre
valor
2003-06-13 22:03:48.090 2000-180395- Multas Predial Rustico
2276
2003-06-13 22:03:48.090 2000-180395- Gastos Ejecucion Rustico
1096
2003-06-13 22:03:48.090 20011 Impuesto Predial Rustico
449.70
2003-06-13 22:03:48.090 20012 Impuesto Predial Rustico
449.70
2003-06-13 22:03:48.090 20013 Impuesto Predial Rustico
449.70
2003-06-13 22:03:48.090 20014 Impuesto Predial Rustico
449.70
2003-06-13 22:03:48.090 20015 Impuesto Predial Rustico
449.70
2003-06-13 22:03:48.090 20016 Impuesto Predial Rustico
449.70
2003-06-13 22:03:48.090 20021 Impuesto Predial Rustico
448.70
2003-06-13 22:03:48.090 20022 Impuesto Predial Rustico
448.70
2003-06-13 22:03:48.090 20023 Impuesto Predial Rustico
448.70
2003-06-13 22:03:48.090 20024 Impuesto Predial Rustico
448.70
2003-06-13 22:03:48.090 20025 Impuesto Predial Rustico
448.70
2003-06-13 22:03:48.090 20026 Impuesto Predial Rustico
448.70
2003-06-13 22:03:48.090 20031 Impuesto Predial Rustico
447.70
2003-06-13 22:03:48.090 20032 Impuesto Predial Rustico
447.70
2003-06-13 22:03:48.090 20033 Impuesto Predial Rustico
447.70
2003-06-13 22:03:48.090 20034 Impuesto Predial Rustico
447.70
2003-06-13 22:03:48.090 20035 Impuesto Predial Rustico
447.70
2003-06-13 22:03:48.090 20036 Impuesto Predial Rustico
447.70

Tengo este query que me trae de la siguiente informacioncomo se presenta
abajo:

select fecha, then ltrim(rtrim(referencia)) else
(rtrim(ltrim(min(referencia))) + ' ' + '-' + ' ' +
rtrim(ltrim(max(referencia)))) as periodo,
nombre, sum(cast(valor as money(13,2))) as monto from #tab
where referencia like '____[123456]'
group by fecha,nombre

fecha periodo
nombre monto
2003-06-13 22:03:48.090 2000-180395- - 2000-180395- Gastos Ejecucion
Rustico 1096.0000
2003-06-13 22:03:48.090 20011 - 20036
Impuesto Predial Rustico 8076.6000
2003-06-13 22:03:48.090 2000-180395- - 2000-180395- Multas Predial
Rustico 2276.0000

Ahora bien, yo debo de presentar la inf. de esta manera:

fecha periodo nombre
monto
2003-06-13 22:03:48.090 2000 Gastos Ejecucion Rustico
1096.0000
2003-06-13 22:03:48.090 20011 - 20036 Impuesto Predial Rustico
8076.6000
2003-06-13 22:03:48.090 2000 Multas Predial Rustico
2276.0000

Que modificacion debo darle al query para que resulte de esta manera?.
Espero me ayuden..gracias
 

Leer las respuestas

#1 Javier Loria\(MVP\)
17/07/2003 - 03:24 | Informe spam
Hola Marcelo:
No estoy seguro, pero me parece que lo que deseas es que en el caso el
MIN(referencia) y el MAX(referencia) sean iguales no se escriba la segunda
parte. Si esto es asi probablemente quieres usar el CASE que sin probar la
sintaxis podria ser algo como:

SELECT Fecha,
(rtrim(ltrim(min(referencia))) +
CASE
WHEN rtrim(ltrim(min(referencia)))
=rtrim(ltrim(min(referencia))) THEN
''
ELSE
+ ' ' + '-' + ' '
+rtrim(ltrim(max(referencia)))
END
) as perido,
.


No estoy muy seguro de la sintaxis porque no tengo el codigo de las tablas y
creo que no esto rompiendo ninguna de las reglas del GROUP BY, pero si no te
funciona puedo revisarlo con detalle.

Saludos,


Javier Loria
Costa Rica (MVP)
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.

"Marcelo Cuevas" wrote in message
news:
Sorry el query es sin el where es decir:

select fecha, (rtrim(ltrim(min(referencia))) + ' ' + '-' + ' ' +
rtrim(ltrim(max(referencia)))) as periodo,
nombre, sum(cast(valor as money(13,2))) as monto from #tab
group by fecha,nombre

Perdon

Marcelo Cuevas wrote in message
news:
> Hola que tal amigos mi experiencia en sql es minima necesito un poco de
> ayuda.
> Miren tengo esta informacion en una tabla temporar llamada #tab
>
> fecha referencia nombre
> valor
> 2003-06-13 22:03:48.090 2000-180395- Multas Predial Rustico
> 2276
> 2003-06-13 22:03:48.090 2000-180395- Gastos Ejecucion Rustico
> 1096
> 2003-06-13 22:03:48.090 20011 Impuesto Predial
Rustico
> 449.70
> 2003-06-13 22:03:48.090 20012 Impuesto Predial
Rustico
> 449.70
> 2003-06-13 22:03:48.090 20013 Impuesto Predial
Rustico
> 449.70
> 2003-06-13 22:03:48.090 20014 Impuesto Predial
Rustico
> 449.70
> 2003-06-13 22:03:48.090 20015 Impuesto Predial
Rustico
> 449.70
> 2003-06-13 22:03:48.090 20016 Impuesto Predial
Rustico
> 449.70
> 2003-06-13 22:03:48.090 20021 Impuesto Predial
Rustico
> 448.70
> 2003-06-13 22:03:48.090 20022 Impuesto Predial
Rustico
> 448.70
> 2003-06-13 22:03:48.090 20023 Impuesto Predial
Rustico
> 448.70
> 2003-06-13 22:03:48.090 20024 Impuesto Predial
Rustico
> 448.70
> 2003-06-13 22:03:48.090 20025 Impuesto Predial
Rustico
> 448.70
> 2003-06-13 22:03:48.090 20026 Impuesto Predial
Rustico
> 448.70
> 2003-06-13 22:03:48.090 20031 Impuesto Predial
Rustico
> 447.70
> 2003-06-13 22:03:48.090 20032 Impuesto Predial
Rustico
> 447.70
> 2003-06-13 22:03:48.090 20033 Impuesto Predial
Rustico
> 447.70
> 2003-06-13 22:03:48.090 20034 Impuesto Predial
Rustico
> 447.70
> 2003-06-13 22:03:48.090 20035 Impuesto Predial
Rustico
> 447.70
> 2003-06-13 22:03:48.090 20036 Impuesto Predial
Rustico
> 447.70
>
> Tengo este query que me trae de la siguiente informacioncomo se presenta
> abajo:
>
> select fecha, then ltrim(rtrim(referencia)) else
> (rtrim(ltrim(min(referencia))) + ' ' + '-' + ' ' +
> rtrim(ltrim(max(referencia)))) as periodo,
> nombre, sum(cast(valor as money(13,2))) as monto from #tab
> where referencia like '____[123456]'
> group by fecha,nombre
>
> fecha periodo
> nombre monto
> 2003-06-13 22:03:48.090 2000-180395- - 2000-180395- Gastos
Ejecucion
> Rustico 1096.0000
> 2003-06-13 22:03:48.090 20011 - 20036
> Impuesto Predial Rustico 8076.6000
> 2003-06-13 22:03:48.090 2000-180395- - 2000-180395- Multas


Predial
> Rustico 2276.0000
>
> Ahora bien, yo debo de presentar la inf. de esta manera:
>
> fecha periodo


nombre
> monto
> 2003-06-13 22:03:48.090 2000 Gastos Ejecucion
Rustico
> 1096.0000
> 2003-06-13 22:03:48.090 20011 - 20036 Impuesto Predial Rustico
> 8076.6000
> 2003-06-13 22:03:48.090 2000 Multas Predial


Rustico
> 2276.0000
>
> Que modificacion debo darle al query para que resulte de esta manera?.
> Espero me ayuden..gracias
>
>


Preguntas similares