У меня есть вид A
и вид B
.
В A
У меня есть много информации о некоторых системах, таких как IP
и port
, которые я хочу сохранить. В B
у меня есть только одна информация, которую я хочу добавить в A
.
Соответствующие поля между двумя представлениями - IP
и port
. Поэтому я должен сопоставлять те узлы, которые имеют одинаковые IP и порт в обоих представлениях.
Примеры:
Просмотр A:
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
OUTPUT
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 не имеют элементов, связанных с IP/Port, в представлении B.
Также возможно, что некоторые хосты представления A имеют некоторое совпадение в представлении B.
Я думал, что я должен использовать LEFT JOIN, чтобы иметь всю запись View A и правильную связанную запись View B, но она не сработала. Я не могу настроить запрос с помощью правильного предложения WHERE и решения JOIN.
Любая идея?