gpt4 book ai didi

sql - 创建一个包含来自子网列的 IP 地址的列

转载 作者:行者123 更新时间:2023-12-01 05:53:35 25 4
gpt4 key购买 nike

我在 SQL 数据库中有两列:SubnetID , SubnetName
例子:

 SubnetID  SubnetName

1 1.2.3.0/24
2 1.2.4.0/14
3 1.2.5.4/30
...
...

使用 SQL 代码,我需要为每个现有行(子网 ID、子网名称)添加另一列“IP 地址”。

输出:
SubnetID  SubnetName   IP Address
1 1.2.3.0/24 1.2.3.0
1 1.2.3.0/24 1.2.3.1
1 1.2.3.0/24 1.2.3.2
... ... ... and so on (till .24)
1 1.2.3.0/24 1.2.3.24
2 1.2.4.0/14 1.2.4.0
2 1.2.4.0/14 1.2.4.1
2 1.2.4.0/14 1.2.4.2
... ... ... and so on (till .14)
2 1.2.4.0/14 1.2.4.14
3 1.2.5.4/30 1.2.5.4
3 1.2.5.4/30 1.2.5.5
3 1.2.5.4/30 1.2.5.6
... ... ... and so on (till .30)
3 1.2.5.4/30 1.2.5.30
... etc.

所以基本上前两列需要保持原样,但附加列将具有覆盖 (.x/x) 范围的单独地址。

非常感谢您的任何建议。

最佳答案

如果我正确理解您的问题,与其在表中添加新列,不如创建另一个如下所示的表:

SubnetID  IPAddress
-------------------
1 1.2.3.0
1 1.2.3.1
1 1.2.3.2
... ...
2 1.2.4.0
... ...
3 1.2.5.4

您的原始表格保持原样:
SubnetID  SubnetName
---------------------
1 1.2.3.0/24
2 1.2.4.0/14
3 1.2.5.4/30
... ...

在我看来,这比你想做的要好,因为现在我们不会复制所有 SubnetName值,我们现在可以避免冗余和所谓的 update anomaly .

例如在您提出的示例中,如果您想更改 SubnetName 会发生什么情况id 2来自 1.2.4.0/141.2.4.0/15 ?您必须更改每一行 - 但使用这种方式,您只需更改一次。

关于sql - 创建一个包含来自子网列的 IP 地址的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51513170/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com