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})$')
);
Query que me devuelve un listado de registros de la tabla cm.ci_op en la que los valores de las columnas nombre_sn_co y nombre_co_claro son diferentes¶
Se toman las siguientes 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 dígitos 20, 21, 22 y 23 de nombre_sn_co
. 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 dígitos 20, 21, 22 y 23 de nombre_sn_co. Si son distintos, lo agrego en la tabla de resultado.
Restricción 4: Se toman solo Gpon, por lo que topología debe comenzar con G
SELECT DISTINCT
nombre_sn_co,
nombre_co_claro
FROM cm.ci_op
WHERE
topologia LIKE 'G%' -- Nueva restricción
AND (
SUBSTRING(nombre_sn_co, 5, 2) = '02' -- CLARO
AND SUBSTRING(nombre_co_claro, 7, 4) IS DISTINCT FROM SUBSTRING(nombre_sn_co, 20, 4)
)
OR (
topologia LIKE 'G%' -- Necesario repetir por precedencia lógica
AND SUBSTRING(nombre_sn_co, 5, 2) = '01' -- ATC
AND SUBSTRING(nombre_co_claro, 15, 4) IS DISTINCT FROM SUBSTRING(nombre_sn_co, 20, 4)
);
Updated by Demo MiGestion365 Admin 9 days ago · 13 revisions