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:

Mostrar la cita
#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:
Mostrar la cita
#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:

Mostrar la cita
#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:
Mostrar la cita
Ads by Google
Search Busqueda sugerida