| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193 |
- DROP TABLE IF EXISTS temp_core_nodes;
- DROP TABLE IF EXISTS other_filter_all_rel_edge;
- DROP TABLE IF EXISTS other_filter_rel_edge;
- DROP TABLE IF EXISTS other_core_nodes;
- DROP TABLE IF EXISTS call_filter_all_rel_edge;
- DROP TABLE IF EXISTS call_filter_rel_edge;
- DROP TABLE IF EXISTS call_core_nodes;
- DROP TABLE IF EXISTS trans_filter_all_rel_edge;
- DROP TABLE IF EXISTS trans_filter_rel_edge;
- DROP TABLE IF EXISTS trans_core_nodes;
- DROP TABLE IF EXISTS final_rel_edge;
- CREATE
- TEMP TABLE final_rel_edge AS
- SELECT CAST(NULL AS VARCHAR) AS node1,
- CAST(NULL AS VARCHAR) AS node2,
- CAST(NULL AS VARCHAR) AS node1cn,
- CAST(NULL AS VARCHAR) AS node2cn,
- CAST(NULL AS VARCHAR) AS mc,
- CAST(NULL AS VARCHAR) AS clazz,
- CAST(NULL AS VARCHAR) AS num,
- CAST(NULL AS INTEGER) AS fx,
- CAST(NULL AS INTEGER) AS lx WHERE 1 = 0;
- CREATE
- TEMP TABLE temp_core_nodes AS
- SELECT unnest(['高某某']) AS node_id,
- unnest(['obj']) AS node_type;
- CREATE
- TEMP TABLE trans_core_nodes AS
- SELECT *
- FROM temp_core_nodes;
- CREATE
- TEMP TABLE trans_filter_all_rel_edge AS
- SELECT node1,
- node2,
- ANY_VALUE(node1cn) AS node1cn,
- ANY_VALUE(node2cn) AS node2cn,
- ANY_VALUE(mc) AS mc,
- ANY_VALUE(clazz) AS clazz,
- sum(num::decimal) AS num,
- sj AS sj,
- ANY_VALUE(fx) AS fx,
- ANY_VALUE(lx) AS lx
- FROM rel_edge
- WHERE clazz = 'card_card'
- GROUP BY node1, node2, sj;
- CREATE
- TEMP TABLE trans_filter_rel_edge AS
- SELECT *
- FROM (SELECT *
- FROM trans_filter_all_rel_edge
- WHERE clazz = 'card_card'
- AND fx = 1
- AND node1 IN (SELECT node_id FROM temp_core_nodes)
- AND node2 NOT IN (SELECT node_id FROM temp_core_nodes)
- UNION ALL
- SELECT *
- FROM trans_filter_all_rel_edge
- WHERE clazz = 'card_card'
- AND fx = 2
- AND node1 NOT IN (SELECT node_id FROM temp_core_nodes)
- AND node2 IN (SELECT node_id FROM temp_core_nodes)) AS combined_edges;
- insert into trans_core_nodes
- select node_id, node_type
- from (select node1 as node_id, 'card' as node_type
- from trans_filter_rel_edge
- union all
- select node2 as node_id, 'card' as node_type
- from trans_filter_rel_edge) as temp_node_id
- GROUP BY node_id, node_type;
- INSERT INTO final_rel_edge
- SELECT node1,
- node2,
- node1cn,
- node2cn,
- mc,
- clazz,
- num,
- fx,
- lx
- FROM trans_filter_rel_edge
- WHERE node1 IN (SELECT node_id FROM trans_core_nodes)
- AND node2 IN (SELECT node_id FROM trans_core_nodes);
- CREATE
- TEMP TABLE call_core_nodes AS
- SELECT *
- FROM temp_core_nodes;
- CREATE
- TEMP TABLE call_filter_all_rel_edge AS
- SELECT node1,
- node2,
- ANY_VALUE(node1cn) AS node1cn,
- ANY_VALUE(node2cn) AS node2cn,
- ANY_VALUE(mc) AS mc,
- ANY_VALUE(clazz) AS clazz,
- count() AS num,
- ANY_VALUE(sj) AS sj,
- ANY_VALUE(fx) AS fx,
- ANY_VALUE(lx) AS lx
- FROM rel_edge
- WHERE clazz = 'tel_tel'
- GROUP BY node1, node2;
- CREATE
- TEMP TABLE call_filter_rel_edge AS
- SELECT *
- FROM (SELECT *
- FROM call_filter_all_rel_edge
- WHERE clazz = 'tel_tel'
- AND fx = 1
- AND node1 IN (SELECT node_id FROM call_core_nodes)
- AND node2 NOT IN (SELECT node_id FROM call_core_nodes)
- UNION ALL
- SELECT *
- FROM call_filter_all_rel_edge
- WHERE clazz = 'tel_tel'
- AND fx = 2
- AND node1 NOT IN (SELECT node_id FROM call_core_nodes)
- AND node2 IN (SELECT node_id FROM call_core_nodes)) AS combined_edges
- ;
- INSERT INTO call_core_nodes
- select node_id, node_type
- from (select node1 as node_id, 'tel' as node_type
- from call_filter_rel_edge
- union all
- select node2 as node_id, 'tel' as node_type
- from call_filter_rel_edge) as temp_node_id
- GROUP BY node_id, node_type;
- INSERT INTO final_rel_edge
- SELECT node1,
- node2,
- node1cn,
- node2cn,
- mc,
- clazz,
- num,
- fx,
- lx
- FROM call_filter_rel_edge
- WHERE node1 IN (SELECT node_id FROM call_core_nodes)
- AND node2 IN (SELECT node_id FROM call_core_nodes);
- CREATE
- TEMP TABLE other_core_nodes AS
- SELECT *
- FROM temp_core_nodes;
- CREATE
- TEMP TABLE other_filter_all_rel_edge AS
- SELECT *
- FROM rel_edge
- WHERE clazz NOT IN ('card_card', 'tel_tel');
- CREATE
- TEMP TABLE other_filter_rel_edge AS
- SELECT *
- FROM other_filter_all_rel_edge
- WHERE clazz NOT IN ('card_card', 'tel_tel')
- AND node1 IN (SELECT node_id FROM trans_core_nodes)
- AND node2 IN (SELECT node_id FROM trans_core_nodes);
- INSERT INTO other_core_nodes
- SELECT node_id, node_type
- FROM (SELECT node1 as node_id, 'other' as node_type
- FROM other_filter_rel_edge
- UNION ALL
- SELECT node2 as node_id, 'other' as node_type
- FROM other_filter_rel_edge) as temp_node_id
- GROUP BY node_id, node_type;
- INSERT INTO final_rel_edge
- SELECT node1,
- node2,
- node1cn,
- node2cn,
- mc,
- clazz,
- num,
- fx,
- lx
- FROM other_filter_rel_edge
- WHERE clazz not in ('card_card', 'tel_tel')
- AND node1 IN (SELECT node_id FROM other_core_nodes)
- AND node2 IN (SELECT node_id FROM other_core_nodes);
- SELECT node1,
- node2,
- any_value(node1cn) AS node1cn,
- any_value(node2cn) AS node2cn,
- any_value(mc) AS mc,
- clazz,
- sum(num) AS num,
- any_value(fx) AS fx,
- any_value(lx) AS lx
- FROM final_rel_edge
- group by node1, node2, clazz;
|