应该如何写条件语句呢,不知道用那个FUNCTION~~头痛ING~

解决方案 »

  1.   

    如果楼主的view PlaceOfWork已经做出,可以这样
    select name,city from PlaceOfWork group by name,city having count(name)=1
      

  2.   

    回复LICSTH0? 应该是可以写出来得,我也没有数据,得去数据库查看,可看了数据再写东西就是不是 真是的查询语句了。你应该我的意思,呵呵。不过还是谢谢LICSTHO的关心,谢谢:)to waterfirer: 555,大大好厉害啊~~等我验证下,ANYWAY先谢谢下
      

  3.   

    TO WATERFIRER:嗯,不好意思,似乎有些问题呢。 是找出那个只有一个PROJECT的人啊,就是在VIEW里面只出现一次面子的人,因为只有一个PROJECT所以只在一个CITY工作。你的语句下来是出现本不应该出现的TUPLE了。
      

  4.   

    现在只有name和city,跟PROJECT没关系
    name  city 
    a     1
    a     2
    b     1
    b     1
    应该只把b查出来
      

  5.   

    TO WATERFIRER: 哈哈,我做出来,都是你给我了方向,我只是稍微修改了下。实在感谢啊。PlaceOfWork 是有三个ATTRIBUTE的,NAME,CITY,HOURS
    解释下:首先你的语句显示结果是这样的
    NAME                 CITY
    -------------------- --------------------
    CERI, Rose           Adelaide
    CERI, Rose           Springton
    CHEN, Mary           Cookfield
    CHEN, Mary           Springton
    SMITH, Andy          Watervale
    WHITE, John          Springton
    BROWN, Barry         Summerton
    SWAFFER, Jill        Watervale
    JONES, Frances       Springton
    MARSHALL, John       Cookfield
    MARSHALL, John       Springton
    McBRIDE, David       Adelaide
    McBRIDE, David       Springton
    STURT, Michael       Summerton
    PRICE, Patricia      Springton15 rows selected.明显出现了不属于要求的数据项。 不过我知道COUNT可以那么用,我就有了一个想法。
    select * from PlaceOfWork where name in (select name from PlaceOfWork group by name having count(name)=1)
    结果就成为:
    NAME                 CITY                      HOURS
    -------------------- -------------------- ----------
    BROWN, Barry         Summerton                    16
    SMITH, Andy          Watervale                    16
    WHITE, John          Springton                    32
    STURT, Michael       Summerton                    32
    SWAFFER, Jill        Watervale                    32外面那个括号是列出只有一个PROJECT的员工,后面是列出员工的详细信息。PS.就是不知道按照原来你的方法是不是可以一次性正确列出所有信息,要是可以就不要这么麻烦了。
    我只是还是困惑“GROUP”这个FUNCTION在按照多个VALUE进行操作的时候是按照什么原理工作得,如果只是一个VALUE那很好理解也很清晰,可一多结果就会出问题了。
      

  6.   

    TO 水清: 可REQUIREMENT要求的是只在一个城市工作得!!! 员工一般是到PROJECT所在地工作,至于远程工作应该是不考虑得吧,一个员工肯定是属于一个部门,一个部门肯定只是在一个城市,那就无所谓说一个了,同样,一个员工当然常住在一个CITY不可能常住两个CITY啊,所以说只在一个城市工作应该是说PROJECT所在城市,而且PlaceOfWork是和三个TABLE有关系得db.WorksOn,db.Employee,db.Project,不过无论如何还是感激啊,谢谢大大了~~~~~上次我问了10G ORACLE不能在like语句中用WILDCARD 比如[0-9]这样的东西,半天没人回答我,我那个伤心啊,不过后来在官方网站找到REGEXP_LIKE这个语句来代替,果然好用啊~~~这次真是运气啊,谢谢~~~