SQL小测试1:这样的要求你需要多长时间?

来源:互联网 发布:js 循环对象 编辑:程序博客网 时间:2024/04/30 07:07
      有一张树构的表TREE。见下面的树状构造图。   idparentidchildid   1001          
root父   1002          
      儿子点1  1003          
节点      儿子点2  1004          
儿子点2      孙子节点1  ・・・    ・・・        ・・・   

 

有一树节点的关表RELATION。  iduseridTREE.idstart_dateend_date…1              
A10022009/10/12010/10/1…2              
B10032009/10/12010/10/1…   3              
C10042009/10/12010/10/1…4              
D 玄孙节点32009/10/12010/10/1…5              
D1001   ・・・・・・・・・・・・・・・…这张表不是所有用户都有对应的数据。一个用户可以对应多条数据。      要求取出RELATION表的以下数据  user_idstart_dateend_date         条件:     ①有一个变量是指定要操作树的哪个节点。比如是儿子节点2.②如果用有指定点的RELATION数据,个用成功。如果没有继续向上查找最近的父亲节点是否有RELATION对应数据。(因为一个用户可能有多条数据,只要最近的那条数据)   如果有成功。      如果没有继续    ④向下查找所有孩子节点中是否存在RELATION对应数据。   如果有成功。但这个时候要求start_date和end_date输出为空白。   如果没有,则这个用户的数据不出现在结果里。       如果是你,你在多长时间内写出SQL。并且SQL效率较高。 

 

树状构造图: