2012-12-11 2 views
1

Je ce point de vue: Créer une vue ASSql met automatiquement à jour

SELECT 
     p.pr_id 
     ,p.arenda 
     ,p.PlotArea 
     ,p.OwnershipTitle 
     ,p.Price 
     ,p.NotaryCosts 
     ,p.AgentFee 
     ,p.CtrNO 
     ,isnull(p.Price,0)-isnull(a.Price,0) as Diferente 
     ,isnull(p.Price,0)+isnull(p.NotaryCosts,0)+isnull(p.AgentFee,0) as TotalCosts 

from nbProcuri p 
     left JOIN nbAchizitii a 
     ON p.PlotArea = a.PlotArea and p.CtrNo=a.CtrNo 
where a.CtrNO is null and a.PlotArea is null 

Je veux établir une corrélation entre ces 2 tables avec un autre appelé Cadastrial où j'ai aussi une colonne appelée PlotArea. La colonne p.arenda devrait se mettre à jour avec la valeur 'yes' si p.PlotArea = c.PlotArea sinon remplir avec no. Est-ce possible quelque part? Merci!

Répondre

1

Comme ceci:

UPDATE p 
SET p.arenda = CASE WHEN p.PlotArea IS NULL THEN 'no' -- For not matched 
        ELSE 'yes' -- for matched 
       END 
FROM nbProcuri p 
LEFT JOIN Cadastrial c ON p.PlotArea = c.PlotArea 
LEFT JOIN nbAchizitii a 
     ON p.PlotArea = a.PlotArea and p.CtrNo = a.CtrNo 
WHERE a.CtrNO IS NULL 
    AND a.PlotArea IS NULL; 
+0

Et pourrais-je placer cette mise à jour à mon avis? J'ai essayé mais ça me donne quelques erreurs. Où devrais-je le faire? – user1820705

+0

@ user1820705 Vous pouvez rejoindre cette table 'cadastrial' avec votre vue à la place. –

+0

: Et la mise à jour agira-t-elle automatiquement comme une colonne calculée par exemple? Merci beaucoup pour votre aide! – user1820705

Questions connexes