У меня есть следующие 3 таблицы, которые я хотел бы запустить SQL-запрос, чтобы найти, какие узлы имеют все свои интерфейсы вниз ..., который из приведенной ниже таблицы является узлом x2, потому что (узел присутствует в таблице «outage», а количество интерфейсов равно 2 в таблице «отключение» и «интерфейс»).SQL Query - Nodes down
node
id name
1 x1
2 x2
3 x3
outage
id nodeid ip duration
1 1 1.1.1.1 1h
2 2 2.2.2.1 2h
2 2 2.2.2.2 2h
3 3 3.3.3.1 5h
interface
id nodeid ip
1 1 1.1.1.1
1 1 1.1.1.2
1 1 1.1.1.3
2 2 2.2.2.1
2 2 2.2.2.2
3 3 3.3.3.1
3 3 3.3.3.2
3 3 3.3.3.3
3 3 3.3.3.4
Я попытался написать много запросов sql, но не смог. Я имею pesudocode в виду следующее:
, если «узел присутствует в ППР таблице» и если «счетчик интерфейсов в ППР таблицы = кол-интерфейсов в таблице интерфейсов то узел считается вниз , иначе узел либо вверх, либо один или несколько его интерфейсов опущены.
любая мысль или идея о том, как подойти к этой проблеме!
P.S. Использование PostgreSQL
Какова цель столбца 'duration' в таблице' outage'? – joop
, чтобы указать длительность интерфейса. Каждый интерфейс связан с IP-адресом. – Sinan