2012-12-11 69 views
1

我有這樣的看法: CREATE VIEW ASSQL將自動更新

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 

我想那些2分表用另一個叫Cadastrial,我也有一個叫PlotArea列相關。如果p.PlotArea = c.PlotArea,則p.arenda列應更新自身,值爲'yes',否則應填入no。 這有可能嗎? 謝謝!

回答

1

像這樣:

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

我可以放置在我看來此更新?我試過了,但它給了我一些錯誤。我應該在哪裏做? – user1820705

+0

@ user1820705您可以將您的視圖加入此表中'cadastrial'。 –

+0

:而且它的更新會像計算列那樣自動執行?非常感謝您的幫助! – user1820705