查询表tableA 中的info字段,是否包含了 如"1,3,5"中的其中一个数值info字段的内容也是 1,2,3这种数字加,的结构注意:sql语句中,不可手工折解1,3,5字符

解决方案 »

  1.   


    declare @tableA table(info varchar(20))
    insert into @tableA select '1,2,3' union select '7,8,9'
    select * from @tableA 
    where charindex(',1,',','+info+',')>0
    or charindex(',3,',','+info+',')>0
    or charindex(',5,',','+info+',')>0;
      

  2.   

    注意:sql语句中,不可手工折解1,3,5字符
      

  3.   


    -- 05declare @M varchar(50),
            @N xml
            
    set @M='1,2,3,4'set @N=convert(xml,'<r><c>'+replace(@M,',','</c><c>')+'</c></r>')
    ;with cte as
    (
    select col=T.c.value('.[1]','varchar(20)')
    from @N.nodes('/r/c') T(c)
    )/**
    --select * from ctecol
    --------------------
    1
    2
    3
    4(4 行受影响)
    */select a.*
    from tb a join cte b on charindex(','+ltrim(b.col)+',',','+a.col+',') > 0
      

  4.   

    二种可能
    1.你是高手,构思超级牛,永远用不到高级查询等语句,有资格随便的骂人SB
    2.你真像你说的一样,是超级菜鸟,从来只会使用最简单的select,那就真没资格骂人了
      

  5.   

    来帮我设计这么一个表结构吧总共有10个人,分别用 ren1 ren2...排到ren10
    每个人可以自由组成小组,如ren1,ren2,ren3组成mssql专家组  ren2,ren3,ren4组成组网页程序组 当然还有其它组现在对这些小组进行安排工作,以3小时为一期,到mssql专家组工作时,其它组中如有mssql专家组成员,就不可安排工作专家组成员可以请假,请假时间中,该专家组也为不可工作状态
    然后写出  人员表  专家组表  工作安排时间表最后,在当前时间查询出所有专家组的信息和可工作或不可工作状态(状态分为 空闲,工作中,有人请假,该组成员在其它组工作)
    另需要注意的是,用一句sql语句就完成查询工作
      

  6.   

    还有一点,按排工作,可以安排到明天或其它时间的,比如明天上午9点~12点,mssql专家组要进行工作
      

  7.   

    我现在的表
    renid  name  qingjia
    1   张三  没
    2   李四  没
    3   王五  没
    4
    5
    6         请假了表zuid  name  renList
    1   sql   1,2,3
    2   web   2,3,4
    3   .net  2,6,8表 workid  工作时间 结束时间  zuid  renid
    1   9:00:00  11:59:59  1     1,2,3     (因为日期太长,前面没写,但实际是2012年7月5号)所有表有精简,实际数据更多现在要查出到前时间,各组状态如现在,就是1,2二组空闲,3组有人请假
    如果现在是7月5号的早上9点~12点之间查,那么就要显示为 1组工作中,2组有成员在其它组工作,3组有人请假虚心请教amazeyeli帮我写一个更合理的数据结构,能非常方便的完成查询
    另外,感谢TravyLee的解答