我现在实现的过程中有这样一个关于数据库查询的问题我有这样一个字段
wbsid
1.1
1.2
1.3
1.3.1
1.3.1.1
1.3.2
1.4
1.4.1
1.5
其实就是每个节点的wbs码了,譬如1.3的子节点为1.3.1和1.3.2我如何根据1.3 select出这两条记录呢??注:不要把1.3.1.1也select进来。

解决方案 »

  1.   

    select * from 数据表 where wbsid like '1.3%' and wbsid <> '1.3'
      

  2.   

    select * from table where wbsid like '1.3.-'
      

  3.   

    select * from 数据表 where wbsid like '1.3%' and wbsid <> '1.3'
      

  4.   

    唉,大家的方法我都试过,不行的,select * from 数据表 where wbsid like '1.3%' and wbsid <> '1.3' 回把所有1.3.1 1.3.2 1.3.1.1 都找出来,我要的是找1.3的子节点 1.3.1和1.3.2
      

  5.   

    select * from table1 where  wbsid like '1.3.%'
      

  6.   

    有点长,但这个可以
    select * from weekly_details where task_outline_num like '1.3.[0-9]' or task_outline_num like '1.3.[0-9][0-9]'
      

  7.   

    select * from table where wbsid like '1.3%' and wbsid<>'1.3.1.1'
      

  8.   

    select * from table where wbsid like '1.3.-'
      

  9.   

    _(通配符 — 匹配一个字符)
    匹配任意单个字符,并且可以被用作前缀或后缀。
    select * from table where wbsid like '1.3.-'
      

  10.   

    我自己好像解决了,不知道又没有问题
    SELECT *
    FROM dbo.t_projectprocess
    WHERE (fd_wbs LIKE '1.3.%') AND (fd_wbs NOT LIKE '1.3._.%')
    大家看看,没有问题就结贴了
      

  11.   

    Oracle中测试过,这样可以啊
    select * from table where wbsid like '1.3._'
      

  12.   

    我自己好像解决了,不知道又没有问题
    SELECT *
    FROM dbo.t_projectprocess
    WHERE (fd_wbs LIKE '1.3.%') AND (fd_wbs NOT LIKE '1.3._.%')
    大家看看,没有问题就结贴了