У меня есть 3 таблицы
Таблица узлов - Nodeid, идентификатор узла связи (NodeRelID)
Таблица отношений узла - идентификатор, узел, идентификатор ссылки узла
Eventstatus Tabel -id, Nodeid, Node Status.
Я хочу создать представление, в котором оно отображает идентификатор каждого узла и состояние узла, связанного с ним.Я сделал это здесь;
CREATE VIEW `view_alarm` AS
select `node`.`NodeID` AS `NodeID`,`eventstatus`.`EventID` AS `EventID`
from ((`node` join `node_relationship`) join `eventstatus`)
where ((`node`.`NodeRelID` = `node_relationship`.`id`) and (`node_relationship`.`Node_LinkID` = `eventstatus`.`NodeID`));
Теперь я хотел бы получить любые узлы, которые не имеют отношения, и автоматически дать им 0 в месте статуса отношения, и я хотел бы, чтобы это сохранялось вта же таблица, поэтому я попытался это с помощью оператора case в представлении.Вот так:
CREATE view `view_alarm` AS select
`node`.`NodeID` AS `NodeID`,
(case when (`node_relationship`.`Node_LinkID` = `eventstatus`.`NodeID`) then `eventstatus`.`EventID`
when (`node_relationship`.`Node_LinkID` <> `eventstatus`.`NodeID`) then `eventstatus`.`EventID` '0' end) AS `EventID`
from ((`node` join `node_relationship`) join `eventstatus`)
where (`node`.`NodeRelID` = `node_relationship`.`id`);
Может кто-нибудь направить меня в правильном направлении.