Не удалось связать многокомпонентный идентификатор «Interfaces.Availability» - PullRequest
1 голос
/ 24 апреля 2020
  1. Попытка запроса и объединение двух-трех таблиц, но получение не может быть связано ошибка

    SELECT Nodes.Caption AS NodeName 
    ,Interfaces.Caption AS InterfaceName 
    ,AlertActive.Acknowledged 
    ,AlertActive.AcknowledgedDateTime 
    ,AlertActive.TriggeredDateTime 
    FROM Nodes 
    JOIN Interfaces As Interface ON Nodes.NodeID = Interface.NodeID 
    JOIN ActiveAlerts As Objects ON Objects.NodeID = Nodes.NodeID 
        AND Objects.NodeID = Interface.NodeID 
    JOIN AlertActiveObjects AS Alerts ON Alerts.AlertActiveID = Objects.AlertID 
    WHERE Interfaces.Availability = 2
    

1 Ответ

0 голосов
/ 24 апреля 2020

вы смешиваете имя таблицы и имя таблицы псевдонимов

JOIN Interfaces As Interface  --  WHERE Interfaces.Availability = 2

если вы используете псевдоним, то используйте его везде

    SELECT Nodes.Caption AS NodeName 
    ,Interfaces.Caption AS InterfaceName 
    ,AlertActive.Acknowledged 
    ,AlertActive.AcknowledgedDateTime 
    ,AlertActive.TriggeredDateTime 
    FROM Nodes 
    JOIN Interfaces As Interface ON Nodes.NodeID = Interface.NodeID 
    JOIN ActiveAlerts As Objects ON Objects.NodeID = Nodes.NodeID 
        AND Objects.NodeID = Interface.NodeID 
    JOIN AlertActiveObjects AS Alerts ON Alerts.AlertActiveID = Objects.AlertID 
    WHERE Interface.Availability = 2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...