基本上我想要实现的目标是 test.zfirewallaudit.src_ip
和 test.zfirewallaudit.dst_ip
要加入 inventory.dns_zones.ip
的字段列,所以我基本上可以为 inventory.dns_zones.subdomain
提供准确的主机名( test.zfirewallaudit.src_ip
)和 test.zfirewallaudit.dst_ip
。所以基本上我想要一个 src_ip 子域的列和一个 dst_ip 子域的列。
SELECT test.zfirewallaudit.src_ip,
test.zfirewallaudit.src_zone,
test.zfirewallaudit.dst_ip,
test.zfirewallaudit.dst_zone,
test.zfirewallaudit.dst_port,
test.zfirewallaudit.rulename,
test.zfirewallaudit.application,
inventory.dns_zones.subdomain
FROM test.zfirewallaudit LEFT JOIN inventory.dns_zones ON zfirewallaudit.src_ip = inventory.dns_zones.ip OR zfirewallaudit.dst_ip = inventory.dns_zones.ip LIMIT 10;
问题是,我需要 inventory.dns_zones.subdomain
对于test.zfirewallaudit.src_ip
和...dst_ip
值(value)观。当前查询只给了我 1 subdomain
栏目
最佳答案
您需要加入 inventory.dns_zones
两次,一次用于源,一次用于目标:
SELECT test.zfirewallaudit.src_ip,
test.zfirewallaudit.src_zone,
test.zfirewallaudit.dst_ip,
test.zfirewallaudit.dst_zone,
test.zfirewallaudit.dst_port,
test.zfirewallaudit.rulename,
test.zfirewallaudit.application,
dns_zones_src.subdomain,
dns_zones_dst.subdomain
FROM test.zfirewallaudit
LEFT JOIN inventory.dns_zones AS dns_zones_src ON ( zfirewallaudit.src_ip = dns_zones_src.ip )
LEFT JOIN inventory.dns_zones AS dns_zones_dst ON ( zfirewallaudit.dst_ip = dns_zones_dst.ip )
LIMIT 10;
关于Mysql 在同一列上左连接多个列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45969524/