J'ai 3 tablesSQL VUE AVEC REJOINT
table Node - NODEID, id relation Node (NodeRelID)
nœud table de relation - id, NODEID, Noeud Lien id
EventStatus Tabel - id, Nodeid, état du nœud.
Je veux créer une vue où elle affiche l'identifiant de chaque nœud et l'état du nœud qui lui est associé. J'ai fait ça ici;
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`));
Maintenant, je voudrais récupérer tous les nœuds qui ne sont pas une relation et leur donnent automatiquement un 0 à la place de l'état de la relation et je voudrais que ce stocké dans la même table pour que j'ai essayé ceci par l'intermédiaire une déclaration de cas dans la vue. Comme si:
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`);
Quelqu'un peut me diriger dans la bonne direction.
Hm, je ne peux pas voir à travers tout à l'heure, mais ne pas utiliser la idiomatiques 'JOIN' syntaxe: 'SELECT ax, par FROM FROM un JOIN b ON (a.a_id = b.a_id)'. Aussi, avez-vous juste besoin d'une jointure externe peut-être? –