私は3つのテーブルを持っています
ノード テーブル - Nodeid、ノード関係 ID(NodeRelID)
ノード関係テーブル - id、Nodeid、Node Link id
Eventstatus テーブル - ID、ノード ID、ノード ステータス。
各ノードの 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`);
誰かが私を正しい方向に向けることができますか?