我有一个看法A
和看法B
。
在A
我有很多关于某些系统的信息,比如IP
我port
想保留所有的信息。在B
我只有一个要添加的信息A
。
两个视图之间的匹配字段是IP
和Port
。所以我必须在两个视图中匹配那些具有相同 IP 和端口的主机。
例子:
观点一:
IP | OS | Hostname | Port | Protocol
1 | Win | hostONE | 80 | tcp
1 | Win | hostONE | 443 | tcp
1 | Win | hostONE | 8080 | tcp
2 | Linux | hostTWO | 21 | tcp
2 | Linux | hostTWO | 80 | tcp
3 | Linux | hostTR | 22 | tcp
视图 B:
IP | Port | State
1 | 443 | Open
2 | 80 | Closed
输出
IP | OS | Hostname | Port | Protocol | State
1 | Win | hostONE | 80 | tcp |
1 | Win | hostONE | 443 | tcp | Open
1 | Win | hostONE | 8080 | tcp |
2 | Linux | hostTWO | 21 | tcp | Closed
2 | Linux | hostTWO | 80 | tcp |
3 | Linux | hostTR | 22 | tcp |
注意:视图A的某些主机可能在视图B中没有IP/Port相关项。
也可能是视图 A 的某些主机在视图 B 中有一些匹配。
我认为我应该使用 LEFT JOIN 以获得视图 A 的所有条目和视图 B 的正确关联条目,但它不起作用。我无法使用正确的 WHERE 子句和 JOIN 解决方案调整查询。
任何想法?