Sql查看条件

时间:2012-12-11 12:16:59

标签: sql sql-server database sql-server-2008 tsql

我从2个表中获得了这个视图:

create view db1
as
SELECT
         p.pr_id
        ,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
where p.CtrNO=0

在两个表中,我都有一个名为CtrNo的列和一个名为PlotArea的列。

我希望视图在p.PlotArea = a.PlotArea和p.CtrNo = a.CtrNo时不显示记录,并显示所有其他情况。

谢谢!

2 个答案:

答案 0 :(得分:2)

试试这个:

SELECT
         p.pr_id
        ,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

答案 1 :(得分:0)

 create view db1
 as
 SELECT
     p.pr_id
    ,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
  where p.PlotArea=a.PlotArea and p.CtrNo=a.CtrNo