Ayuda con Tablas Cruzadas

02/02/2007 - 20:27 por Firefox | Informe spam
Hola amigos me encargaron una especie de calendario donde se ve el
estatus obtenido por diade los equipos que participan en una
competencia y debe ser del modo siguiente

Tabla de muestra:

Lunes Martes Miercoles Jueves
Viernes Sabado Domingo

Equipo A bueno regular bueno regular
excel. bueno regular
Equipo B malo bueno regular excel. N/
A malo regular
.
.
.
Equipo N - - -


Cada uno de estos registros se ingresa por separado para cada equipo y
para un dia en particular
como hago para llevarlo a una tabla como la anterior. Estuve
trabajando con PIVOT pero parece que solo funciona cuando sumas el
elmento que va en cada celda lo cual no es mi caso . Mil Gracias por
anticipado. :D

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
02/02/2007 - 20:50 | Informe spam
Firefox,

Te recominedo que para este tipo de preguntas y/o problemas, postees la
estructura de las tablas involucradas, incluyendo restricciones e indices,
asi como data de ejemplo (senetencias insert) y resultados esperados.


AMB


"Firefox" wrote:

Hola amigos me encargaron una especie de calendario donde se ve el
estatus obtenido por diade los equipos que participan en una
competencia y debe ser del modo siguiente

Tabla de muestra:

Lunes Martes Miercoles Jueves
Viernes Sabado Domingo

Equipo A bueno regular bueno regular
excel. bueno regular
Equipo B malo bueno regular excel. N/
A malo regular
..
..
..
Equipo N - - -


Cada uno de estos registros se ingresa por separado para cada equipo y
para un dia en particular
como hago para llevarlo a una tabla como la anterior. Estuve
trabajando con PIVOT pero parece que solo funciona cuando sumas el
elmento que va en cada celda lo cual no es mi caso . Mil Gracias por
anticipado. :D


Respuesta Responder a este mensaje
#2 Firefox
02/02/2007 - 21:00 | Informe spam
OK. Es una tabla sencilla (tbl_eval_equipos) y la estructura es la
siguiente

fecha (DateTime), codigo_equipo (varchar(10)), evaluacion
(varchar(15))

un insert de esto podria ser:

Insert into tbl_eval_equipos (fecha,codigo_equipo,evaluacion) Values
('20070202','0010','regular')

no tiene restricciones de ningun tipo ni indices.

Gracias (^_^)




On 2 feb, 15:50, Alejandro Mesa
wrote:
Firefox,

Te recominedo que para este tipo de preguntas y/o problemas, postees la
estructura de las tablas involucradas, incluyendo restricciones e indices,
asi como data de ejemplo (senetencias insert) y resultados esperados.

AMB

"Firefox" wrote:
> Hola amigos me encargaron una especie de calendario donde se ve el
> estatus obtenido por diade los equipos que participan en una
> competencia y debe ser del modo siguiente

> Tabla de muestra:

> Lunes Martes Miercoles Jueves
> Viernes Sabado Domingo

> Equipo A bueno regular bueno regular
> excel. bueno regular
> Equipo B malo bueno regular excel. N/
> A malo regular
> ..
> ..
> ..
> Equipo N - - -

> Cada uno de estos registros se ingresa por separado para cada equipo y
> para un dia en particular
> como hago para llevarlo a una tabla como la anterior. Estuve
> trabajando con PIVOT pero parece que solo funciona cuando sumas el
> elmento que va en cada celda lo cual no es mi caso . Mil Gracias por
> anticipado. :D
Respuesta Responder a este mensaje
#3 Alejandro Mesa
02/02/2007 - 21:57 | Informe spam
Firefox,

Crees que sea mucho pedir que postees un script como el que esta a
continuacion?

create table dbo.t1 (
fecha DateTime not null,
codigo_equipo varchar(10) not null,
evaluacion varchar(15) not null,
primary key (fecha, codigo_equipo, evaluacion)
)
go

Insert into dbo.t1 (fecha,codigo_equipo,evaluacion) Values
('20070205','0010','regular')
Insert into dbo.t1 (fecha,codigo_equipo,evaluacion) Values
('20070206','0010','excelente')
Insert into dbo.t1 (fecha,codigo_equipo,evaluacion) Values
('20070207','0010','regular')
Insert into dbo.t1 (fecha,codigo_equipo,evaluacion) Values
('20070208','0010','bueno')
Insert into dbo.t1 (fecha,codigo_equipo,evaluacion) Values
('20070209','0010','regular')
Insert into dbo.t1 (fecha,codigo_equipo,evaluacion) Values
('20070210','0010','regular')
Insert into dbo.t1 (fecha,codigo_equipo,evaluacion) Values
('20070211','0010','N/A')

Insert into dbo.t1 (fecha,codigo_equipo,evaluacion) Values
('20070205','0011','regular')
Insert into dbo.t1 (fecha,codigo_equipo,evaluacion) Values
('20070206','0011','bueno')
Insert into dbo.t1 (fecha,codigo_equipo,evaluacion) Values
('20070207','0011','regular')
Insert into dbo.t1 (fecha,codigo_equipo,evaluacion) Values
('20070208','0011','bueno')
Insert into dbo.t1 (fecha,codigo_equipo,evaluacion) Values
('20070209','0011','regular')
Insert into dbo.t1 (fecha,codigo_equipo,evaluacion) Values
('20070210','0011','excelente')
Insert into dbo.t1 (fecha,codigo_equipo,evaluacion) Values
('20070211','0011','N/A')
go


Ve si esta sentencia devuelve los resultados esperados.

select *
from
(
select codigo_equipo, datename(weekday, fecha) as wd, evaluacion
from dbo.t1
) as t
pivot
(
min(evaluacion) for wd in ([Lunes], [Martes], [Miércoles], [Jueves],
[Viernes], [Sábado], [Domingo])
) as pvt
go

drop table dbo.t1
go


AMB

"Firefox" wrote:

OK. Es una tabla sencilla (tbl_eval_equipos) y la estructura es la
siguiente

fecha (DateTime), codigo_equipo (varchar(10)), evaluacion
(varchar(15))

un insert de esto podria ser:

Insert into tbl_eval_equipos (fecha,codigo_equipo,evaluacion) Values
('20070202','0010','regular')

no tiene restricciones de ningun tipo ni indices.

Gracias (^_^)




On 2 feb, 15:50, Alejandro Mesa
wrote:
> Firefox,
>
> Te recominedo que para este tipo de preguntas y/o problemas, postees la
> estructura de las tablas involucradas, incluyendo restricciones e indices,
> asi como data de ejemplo (senetencias insert) y resultados esperados.
>
> AMB
>
> "Firefox" wrote:
> > Hola amigos me encargaron una especie de calendario donde se ve el
> > estatus obtenido por diade los equipos que participan en una
> > competencia y debe ser del modo siguiente
>
> > Tabla de muestra:
>
> > Lunes Martes Miercoles Jueves
> > Viernes Sabado Domingo
>
> > Equipo A bueno regular bueno regular
> > excel. bueno regular
> > Equipo B malo bueno regular excel. N/
> > A malo regular
> > ..
> > ..
> > ..
> > Equipo N - - -
>
> > Cada uno de estos registros se ingresa por separado para cada equipo y
> > para un dia en particular
> > como hago para llevarlo a una tabla como la anterior. Estuve
> > trabajando con PIVOT pero parece que solo funciona cuando sumas el
> > elmento que va en cada celda lo cual no es mi caso . Mil Gracias por
> > anticipado. :D



Respuesta Responder a este mensaje
#4 Firefox
03/02/2007 - 13:44 | Informe spam
Gracias Alejandro voy a probarlo. Disculpa que no me haya extendido en
mis ejemplos lo que pasa es que soy nuevo con el SQL. Saludos :D.

On 2 feb, 16:57, Alejandro Mesa
wrote:
Firefox,

Crees que sea mucho pedir que postees un script como el que esta a
continuacion?

create table dbo.t1 (
fecha DateTime not null,
codigo_equipo varchar(10) not null,
evaluacion varchar(15) not null,
primary key (fecha, codigo_equipo, evaluacion)
)
go

Insert into dbo.t1 (fecha,codigo_equipo,evaluacion) Values
('20070205','0010','regular')
Insert into dbo.t1 (fecha,codigo_equipo,evaluacion) Values
('20070206','0010','excelente')
Insert into dbo.t1 (fecha,codigo_equipo,evaluacion) Values
('20070207','0010','regular')
Insert into dbo.t1 (fecha,codigo_equipo,evaluacion) Values
('20070208','0010','bueno')
Insert into dbo.t1 (fecha,codigo_equipo,evaluacion) Values
('20070209','0010','regular')
Insert into dbo.t1 (fecha,codigo_equipo,evaluacion) Values
('20070210','0010','regular')
Insert into dbo.t1 (fecha,codigo_equipo,evaluacion) Values
('20070211','0010','N/A')

Insert into dbo.t1 (fecha,codigo_equipo,evaluacion) Values
('20070205','0011','regular')
Insert into dbo.t1 (fecha,codigo_equipo,evaluacion) Values
('20070206','0011','bueno')
Insert into dbo.t1 (fecha,codigo_equipo,evaluacion) Values
('20070207','0011','regular')
Insert into dbo.t1 (fecha,codigo_equipo,evaluacion) Values
('20070208','0011','bueno')
Insert into dbo.t1 (fecha,codigo_equipo,evaluacion) Values
('20070209','0011','regular')
Insert into dbo.t1 (fecha,codigo_equipo,evaluacion) Values
('20070210','0011','excelente')
Insert into dbo.t1 (fecha,codigo_equipo,evaluacion) Values
('20070211','0011','N/A')
go

Ve si esta sentencia devuelve los resultados esperados.

select *
from
(
select codigo_equipo, datename(weekday, fecha) as wd, evaluacion
from dbo.t1
) as t
pivot
(
min(evaluacion) for wd in ([Lunes], [Martes], [Miércoles], [Jueves],
[Viernes], [Sábado], [Domingo])
) as pvt
go

drop table dbo.t1
go

AMB



"Firefox" wrote:
> OK. Es una tabla sencilla (tbl_eval_equipos) y la estructura es la
> siguiente

> fecha (DateTime), codigo_equipo (varchar(10)), evaluacion
> (varchar(15))

> un insert de esto podria ser:

> Insert into tbl_eval_equipos (fecha,codigo_equipo,evaluacion) Values
> ('20070202','0010','regular')

> no tiene restricciones de ningun tipo ni indices.

> Gracias (^_^)

> On 2 feb, 15:50, Alejandro Mesa
> wrote:
> > Firefox,

> > Te recominedo que para este tipo de preguntas y/o problemas, postees la
> > estructura de las tablas involucradas, incluyendo restricciones e indices,
> > asi como data de ejemplo (senetencias insert) y resultados esperados.

> > AMB

> > "Firefox" wrote:
> > > Hola amigos me encargaron una especie de calendario donde se ve el
> > > estatus obtenido por diade los equipos que participan en una
> > > competencia y debe ser del modo siguiente

> > > Tabla de muestra:

> > > Lunes Martes Miercoles Jueves
> > > Viernes Sabado Domingo

> > > Equipo A bueno regular bueno regular
> > > excel. bueno regular
> > > Equipo B malo bueno regular excel. N/
> > > A malo regular
> > > ..
> > > ..
> > > ..
> > > Equipo N - - -

> > > Cada uno de estos registros se ingresa por separado para cada equipo y
> > > para un dia en particular
> > > como hago para llevarlo a una tabla como la anterior. Estuve
> > > trabajando con PIVOT pero parece que solo funciona cuando sumas el
> > > elmento que va en cada celda lo cual no es mi caso . Mil Gracias por
> > > anticipado. :D- Ocultar texto de la cita -

- Mostrar texto de la cita -
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida