Validacion Por Columna SQL Server
Publicado por Marina (1 intervención) el 10/09/2019 00:05:45
Hola buena tarde, les comparto esta situacion que se me esta presentando para ver si me pueden echar la mano con el codigo, lo que sucede es que quiero imprimir datos en una tabla en html para eso utilice un pivote lo que pasa es que ahora quiero que esos datos sean validados por columnas no por filas, y que se ordenen por estatus por ejemplo si el estatus es 1 quiero que me pinte la celda roja y si es 0 la celda de verde
Mi dogio en SQL es:
Mi dogio en SQL es:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
with mari (nivel, esExtraordinario,idxmuestra,IdOrden,noseccion,idpresupuesto,nombre,fechaodp,claveequipo,Razon_social,IdTrabajo, proyecto, cantidadtrabajo,fechaentrega,estimacalculo,fechacompromiso,IdSeccion,IdPlan,id_maquina,IdSeq,Abreviacion,clave_maquina,Fecha_hrIni,minFalt,Fecha_hrFin,minTotal,Tiros,AvanceTiros,estatus,UnidadessTrabajo,indice,inventariadaS,inventariada,cambios) as
(select distinct isnull(nv.nivel,'-')+isnull(cast(gradoprod as varchar),0) as nivel,
pr.esExtraordinario,pl.idxmuestra, pl.IdOrden, pl.IdSeccion as noseccion, o.idpresupuesto, s.nombre, o.fechaodp, ce.claveequipo,
ccf.Razon_Social, t.IdTrabajo, t.Proyecto,
pr.cantidadtrabajo, o.fechaentrega,
o.estimacalculo,
pr.fechacompromiso, s.IdSeccion, pl.IdPlan,
smc.id_maquina, op.IdSeq, sc.Abreviacion, isnull(smc.clave_maquina, '-') as clave_maquina,
op.Fecha_hrIni, op.minFalt, op.Fecha_hrFin, op.minTotal, op.Tiros,
op.AvanceTiros, op.status, op.UnidadesTrabajo,
pl.indice, --sum((mintotal)) as minFalt,
isnull(inv.inventariada,0) as inventariadaS,
isnull(case when pl.inventariada = 1 then 'Si' else 'No' end, 0) as inventariada,
(select count(*) from Historial_odp_grupos ho where ho.idodp=o.idodp or ho.idpresupuesto=o.idpresupuesto) as cambios
from odp o inner join planeacion pl on o.idodp = pl.idorden
inner join trabajo t on t.idtrabajo = o.idtrabajo
inner join seccion s on s.idtrabajo = o.idtrabajo and pl.IdSeccion = s.noseccion
inner join presupuesto pr on pr.Idpresupuesto = o.Idpresupuesto
left join nivel_teos nv on nv.idpresupuesto=pr.idpresupuesto
inner join catalogo_clientes_fiscal ccf on ccf.Id_fiscal = t.IdCliente
inner join catalogo_equipo ce on ce.idequipo = t.idequipo
inner join odp_progresion op on op.IdOdpSecc = (cast(pl.IdOrden as varchar(10)) + cast(pl.IdSeccion as varchar(8)))
left join inventario inv on o.idodp=inv.idorden and s.idseccion=inv.idseccion
left join seccion_maquina_catalogo smc on op.idmaquina = smc.id_maquina
left join status_catalogo sc on op.IdProceso = sc.IdStatus
where pl.activo = 1)
SELECT IdOrden, Nombre, Razon_social, proyecto, noseccion, s1.Clave_Maquina as s1, s2.Clave_Maquina as s2
, s3.Clave_Maquina as s3 , s4.Clave_Maquina as s4, s5.Clave_Maquina as s5, s6.Clave_Maquina as s6, s7.Clave_Maquina as s7, s8.Clave_Maquina as s8
, s9.Clave_Maquina as s9, s10.Clave_Maquina as s10
FROM (
SELECT *
FROM
( SELECT distinct IdOrden, Nombre, Razon_social,proyecto,id_maquina,noseccion,IdSeq --clave_maquina,
FROM mari
) AS SourceTable PIVOT(AVG([id_maquina]) FOR [idseq] IN ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16]
)) AS PivotTable) a
LEFT JOIN Seccion_Maquina_Catalogo s1 ON [1] = s1.Id_Maquina
LEFT JOIN Seccion_Maquina_Catalogo s2 ON [2] = s2.Id_Maquina
LEFT JOIN Seccion_Maquina_Catalogo s3 ON [3] = s3.Id_Maquina
LEFT JOIN Seccion_Maquina_Catalogo s4 ON [4] = s4.Id_Maquina
LEFT JOIN Seccion_Maquina_Catalogo s5 ON [5] = s5.Id_Maquina
LEFT JOIN Seccion_Maquina_Catalogo s6 ON [6] = s6.Id_Maquina
LEFT JOIN Seccion_Maquina_Catalogo s7 ON [7] = s7.Id_Maquina
LEFT JOIN Seccion_Maquina_Catalogo s8 ON [8] = s8.Id_Maquina
LEFT JOIN Seccion_Maquina_Catalogo s9 ON [9] = s9.Id_Maquina
LEFT JOIN Seccion_Maquina_Catalogo s10 ON [10] = s10.Id_Maquina
Valora esta pregunta


0