SQL - Validacion Por Columna SQL Server

 
Vista:
sin imagen de perfil
Val: 1
Ha disminuido su posición en 5 puestos en SQL (en relación al último mes)
Gráfica de SQL

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:

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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Vega
Val: 187
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Validacion Por Columna SQL Server

Publicado por Vega (73 intervenciones) el 03/10/2019 09:02:59
Hola, si pudieras construir un conjunto de tablas que representan el contenido de tus datos, podríamos ayudarte.

Sin comprender el modelo que usa tu consulta es muy difícil comprender lo que está pasando con todas esas uniones!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar