我有 3 张桌子
节点表——Nodeid,节点关系id(NodeRelID)
节点关系表——id、Nodeid、Node Link id
Eventstatus 表 - id、Nodeid、节点状态。
我想创建一个视图,在其中显示每个节点的 id 以及与之相关的节点的状态。我在这里做过;
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`);
有人可以指出我正确的方向。