Project

General

Profile

Comados SQL » History » Revision 12

Revision 11 (Demo MiGestion365 Admin, 01/21/2026 03:10 PM) → Revision 12/13 (Demo MiGestion365 Admin, 01/21/2026 05:31 PM)

# Comados SQL 


 ### Como crear una nueva tabla 

 CREATE TABLE IF NOT EXISTS aux.bajada_inventario_ext 
 (LIKE aux.bajada_inventario INCLUDING ALL); 


 ### Búsqueda de un elemento en específico dentro de una tabla 

 SELECT * 
 FROM audit.ci_op_raw 
 WHERE nombre_co = 'SM020101-PATH-20-001886-0000'; 

 SELECT * 
 FROM audit.wkt_fibra_raw w 
 WHERE row_to_json(w)::text ILIKE '%TL000201-BHL0-00-018990-0031%'; 


 ### Contabilizar la cantidad de elementos de una columna con un valor determinado 

 SELECT COUNT(*) AS filas_con_path_atc_nulo 
 FROM aux.bajada_inventario 
 WHERE path_atc IS NULL; 


 ### Borrar una tabla completa 

 DROP TABLE aux.bajada_inventario_ext; 


 ### Agregar la columna path_atc si no existe 

 ALTER TABLE aux.bajada_inventario_ext 
 ADD COLUMN IF NOT EXISTS path_atc text; 


 ### Borrar una columna de una tabla 

 ALTER TABLE aux.bajada_inventario DROP COLUMN atc_path; 


 ### Poblado de contenido en una tabla 

         UPDATE aux.bajada_inventario AS b 
         SET path_atc = i.path_atc 
         FROM cm.inventory_fat_occupation AS i 
         WHERE i.physical_path = b.fibra_f01_f02_f03; 

 ### Comandos relacionados con la funcion huella_cometario 

 SELECT * FROM giscloud.huella_comentario('teco|telco|telecon|telecom'); 


 ### Query que me devuelve valores unicos de las lines en las que la columna nombre_co_claro de la tabla cm.ci_op es diferente de la columna path_atc de la tabla cm.inventory_fat_occupation. 

 SELECT DISTINCT 
     op.nombre_sn_co, 
     op.nombre_co_claro, 
     inv.path_atc 
 FROM cm.ci_op op 
 JOIN cm.inventory_fat_occupation inv 
     ON inv.physical_path = op.nombre_sn_co 
 WHERE op.nombre_co_claro IS DISTINCT FROM inv.path_atc; 


 ### Query que me devuelve listado de valores unicos de registros de la tabla cm.ci_op en la que los valores de las columnas nombre_co_claro y nombre_co_atc son diferentes 

 SELECT DISTINCT 
     nombre_sn_co, 
     nombre_co_claro, 
     nombre_co_atc 
 FROM cm.ci_op 
 WHERE nombre_co_claro IS DISTINCT FROM nombre_co_atc; 


 ### Query que me devuelve listado de valores unicos de registros de la tabla cm.ci_op en la que los valores de las columnas nombre_co_claro y nombre_co_atc son diferentes  

 Restricciones: 

 Restriccion 1:    si los dígitos 5 y 6 de nombre_sn_co  
 es 02 es CLARO, si es 01 es ATC 

 Restriccion 2: si es CLARO hay que comprar los dígitos 7,8,9,10 de nombre_co_claro 
 con los ultimos 4 dígitos de path_atc. Si son distintos, lo agrego en la tabla de resultado. 

 Restricción 3: Si es ATC hay que comparar los dígitos 15,16,17,18 de nombre_co_claro 
 con los ultimos 4 dígitos de path_atc. Si son distintos, lo agrego en la tabla de resultado. 

 SELECT DISTINCT 
     op.nombre_sn_co, 
     op.nombre_co_claro, 
     inv.path_atc 
 FROM cm.ci_op op 
 JOIN cm.inventory_fat_occupation inv 
     ON inv.physical_path = op.nombre_sn_co 
 WHERE 
     ( 
         SUBSTRING(op.nombre_sn_co, 5, 2) = '02'    -- CLARO 
         AND SUBSTRING(op.nombre_co_claro, 7, 4) IS DISTINCT FROM SUBSTRING(inv.path_atc FROM '(\d{4})$') 
     ) 
     OR 
     ( 
         SUBSTRING(op.nombre_sn_co, 5, 2) = '01'    -- ATC 
         AND SUBSTRING(op.nombre_co_claro, 15, 4) IS DISTINCT FROM SUBSTRING(inv.path_atc FROM '(\d{4})$') 
     );