Postgres中有两个表,表1包含主机、ips和严重性,以及表2中每个网络的地理定位。我需要创建一个表3,其中包含表1的所有数据,并将主机(表1)与表2中的网络进行比较,以便在表1 de列站点上添加,如何做到这一点。
TABLE 1
HOST | IP | SEVERITY
HOST - 1 | 172.2.36.2 | 7
HOST - 2 | 172.2.34.35 | 7
HOST - 3 | 172.2.36.9 | 8
HOST - 4 | 172.2.34.77 | 6
HOST - 5 | 172.2.36.2 | 5
HOST - 6 | 172.2.36.99 | 3
HOST - 7 | 172.2.34.55 | 4
TABLE 2
NETWORK | SITE
172.2.36. | SITE A
172.2.34. | SITE B
TABLE 3 (NEW)
HOST | IP | SEVERITY | SITE
HOST - 1 | 172.2.36.2 | 7 | SITE A
HOST - 2 | 172.2.34.35 | 7 | SITE B
HOST - 3 | 172.2.36.9 | 8 | SITE A
HOST - 4 | 172.2.34.77 | 6 | SITE B谢谢
发布于 2020-11-29 17:15:36
您需要将Table1连接到Table2
select t1.*, t2.site
from Table1 t1 inner join table2 t2
on t1.ip like concat(t2.network, '%')
where t1.severity >= 6https://stackoverflow.com/questions/65059721
复制相似问题