select a.* from price a
inner Join Container b on a.PricePort=b.ContainerPort
inner Join ContainerCompetitive c
 on b.id=c.ConIDQut
where a.LastUsefulDate>b.CloseDate and a.Price20>c.Compet20

解决方案 »

  1.   

    select p.* 
    from price p left join Container c
    on p.PricePort=c.ContainerPort
    left join ContainerCompetitive cc
    on c.id=cc.ConIDQut
    where c.CloseDate<p.LastUsefulDate and cc.Compet20<p.Price20
      

  2.   

    如果你要取 表2:Container  和  表3:ContainerCompetitive  中与表一项匹配的字段的话
    表之间的条件才有作用而你现在就只是 取表一的内容那么你和 表2  表3  作一对条件  就一点意义都没有啊。搂主你再考虑考虑
      

  3.   

    select * from Price A
    where exists (select 1 from  Container where  CloseDate<A.LastUsefulDate)
    and   exists (select 1 from  ContainerCompetitive where  Compet20<A.Price20)
    and   exists (select 1 from  Container where  ContainerPort=A.ContainerPort)
    and   exists (select 1 from  Container B inner join ContainerCompetitive C on
    B.ID=C.ConIDQut)
      

  4.   

    回crazy_boy1(小辉) ,是要取表1中的数据,需要满足表2、表3的一些条件。
      

  5.   

    谢谢以上各位的答案。
    现在业务需要正好相反的条件,即:查询出所有不符合下列条件的表1:Price的记录:条件1:表Container的CloseDate 要早于 表Price的LastUsefulDate
    条件2:表ContainerCompetitive的Compet20 要小于 表Price的Price20
    条件3:表Container的ContainerPort 要等于 表Price的PricePort
    条件4:表Container的ID 要等于 表ContainerCompetitive的ConIDQut我这样写,不知道对不对,大家帮忙看一下:select Distinct a.* from price a
    inner Join Container b on a.PricePort!=b.ContainerPort
    inner Join ContainerCompetitive c
     on b.id!=c.ConIDQut
    where a.LastUsefulDate<=b.CloseDate or a.Price20<=c.Compet20
      

  6.   

    zlp321002(我的唯一是她:)
    select * from Price A
    where exists (select 1 from  Container where  CloseDate<A.LastUsefulDate)
    and   exists (select 1 from  ContainerCompetitive where  Compet20<A.Price20)
    and   exists (select 1 from  Container where  ContainerPort=A.ContainerPort)
    and   exists (select 1 from  Container B inner join ContainerCompetitive C on
    B.ID=C.ConIDQut)
    的答案是正解吗?
      

  7.   

    刚才copy时出错了,不好意思。大家再帮我看看,谢谢了。
    现在业务需要正好相反的条件(现在我作的是个竞拍的项目,需要显示可以竞价和等待竞价的模块),即:查询出所有不符合下列条件的表1:Price的记录:条件1:表Container的CloseDate 不要早于 表Price的LastUsefulDate
    条件2:表ContainerCompetitive的Compet20 不要小于 表Price的Price20
    条件3:表Container的ContainerPort 不要等于 表Price的PricePort
    条件4:表Container的ID 要等于 表ContainerCompetitive的ConIDQut请问这个sql该如何去写?