繁体   English   中英

MySQL左连接同一列上的多个列

[英]Mysql left join multiple columns on same column

基本上我要完成的,是我想要的test.zfirewallaudit.src_iptest.zfirewallaudit.dst_ip场加入的inventory.dns_zones.ip列,所以我基本上可以有一个准确的主机名( inventory.dns_zones.subdomain )for test.zfirewallaudit.src_iptest.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值。 当前查询只给我1 subdomain

你需要加入对inventory.dns_zones两次,一次用于src和一次针对DST:

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;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM