输入条件是什么形式???"1 or 2" 、"1 and 2"   是这样么???还有那个内容是固定格式的么?  i have 数字

解决方案 »

  1.   

    比如, 条件是 XXXXX and zzzzzzz and (content has (1 and 2)) and yyyyyyyy and kkkkkkkk
      

  2.   

    "i have"只是数据的一部分,不代表任何意思。
    1 and 2 也只是例子,有可能是 a and b,或者更复杂的 a and b and c or d, (a and (b or c)) or d 。
      

  3.   

    content就是一个纯粹的字符型字段。
      

  4.   

    这个我想你还是在前台处理吧前台拆分好,组合成sql语句然后再进行查询
      

  5.   

    我现在不知道你前台的  a and b or c 是怎么出来的如果可能在前台可以构造成这样
    a and b or c 
    ======>>>
    charindex('a',content)>0  and charindex('b',content)>0 or charindex('c',content)>0 也就是每个值换成这样 charindex('值',content)>0 这样在后台就可以直接查询了exec('select * from t  where '+@传入值)
      

  6.   

    charindex('a',content)>0  and charindex('b',content)>0 or charindex('c',content)>0 
    可以这样的。可是,这样能把条件适用于相同用户的不同纪录范围吗?
      

  7.   

    得先要对
    记录集进行一下整合
    id          name             content
    a1          name1            i have 1 i have 2   --变成这样
    c2          name2            i have 1 
    d3          name3            i have 2
    e4          name4            i have 1 and 2
      

  8.   

    或者写一个函数,作用输入 name1  输入出 i have 1 i have 2然后  charindex('a',dbo.函数名(name))>0  and charindex('b',dbo.函数名(name))>0 or charindex('c',dbo.函数名(name))>0 
      

  9.   

    也就是把同一个name的对应的content 连到一起,再进行判断
      

  10.   

    charindex('a',dbo.函数名(name))>0  and charindex('b',dbo.函数名(name))>0 or charindex('c',dbo.函数名(name))>0 
    这样似乎不错哦。不过,能把整合前的纪录集给取出来吗?
    建临时表呢?
    关键是可不可以把整合前的原始记录取出来。   :(我的SQL很基础,请多多指教
      

  11.   

    charindex('a',dbo.函数名(name))>0  and charindex('b',dbo.函数名(name))>0 or charindex('c',dbo.函数名(name))>0 如果这样就不用整合记录集,可以直接查了...
    没问题的,你自己试试
      

  12.   

    --创建一个处理的自定义函数
    create function f_merg(@po char(3))
    returns varchar(8000)
    as
    begin
    declare @re varchar(8000)
    set @re=''
    select @re=@re+','+convert(varchar(10),DueDate,111)
    from pom where po=@po
    return(substring(@re,2,8000))
    end
    go--调用实现你的查询
    select po,DueDate=dbo.f_merg(po)
    from pom
    group by po
      

  13.   

    不好意思,E4是后来补上的,为了说明 1 AND 2的情况
    当检索条件为 1 or 2的时候,检索结果如下:
    id          name             content
    a1          name1            i have 1
    b1          name1            i have 2
    c2          name2            i have 1
    d3          name3            i have 2
    e4          name4            i have 1 and 2
      

  14.   

    现在,我重新整理一下范例:
    有如下纪录:
    id          name             content
    a1          name1            i have 1
    b1          name1            i have 2
    c2          name2            i have 1
    d3          name3            i have 2
    e4          name4            i have 1 ,2
    f1          name1            i have 3说明:
    1。id的最后1位代表一个用户,这里,用户1(name1)有3条纪录,用户2(name2)、用户3(name3)和用户4(name4)各有1条纪录;
    2。用content作为关键字的检索对象。当检索条件为 1 or 2的时候,检索结果如下:
    id          name             content
    a1          name1            i have 1
    b1          name1            i have 2
    c2          name2            i have 1
    d3          name3            i have 2
    e4          name4            i have 1 ,2当检索条件为 1 and 2的时候,检索结果如下:
    id          name             content
    a1          name1            i have 1
    b1          name1            i have 2
    e4          name4            i have 1 ,2此外,生成的条件并不是 1 or 2 / 1 and 2 这样简单,
    有可能是(a or b) and ((c or d) or e)……