一个文章关键字表,有两列,一列是文章ID,一列是关键字
多关键字查询的情况下,想通过多关键字找文章,这要怎么写
select ArticleID from table where keyword like '%aaa%' and like '%bbb%' 
这样是找不出记录的

解决方案 »

  1.   

    select ArticleID from table where (keyword like '%aaa%') OR (keyword like '%bbb%')
    我想这样总应该出来了吧
      

  2.   

    select ArticleID from table where (keyword like '%aaa%') and (keyword like '%bbb%')
      

  3.   

    select ArticleID from table where keyword like '%aaa%bbb%'
      

  4.   

    Try:
    select ArticleID from table where keyword like '%aaa%bbb%' 
      

  5.   

    select ArticleID from table 
    where charindex('aaa',keyword ) > 0 
    and   charindex('bbb',keyword ) > 0 
      

  6.   

    --?? check your tabledeclare @test table
    (
    a varchar(20)
    )
    insert into @test
    select 'aaa bbb ccc ddd' union all
    select 'aaa ccc ddd' union all
    select 'bbb ccc ddd aaa ' union all
    select 'bbb ccc ddd'select * from @test
    where a like '%aaa%' and a like '%bbb%'/*
    a                    
    -------------------- 
    aaa bbb ccc ddd
    bbb ccc ddd aaa 
    */
      

  7.   

    select ArticleID from table where keyword like '%aaa%bbb%' or keyword like '%bbb%aaa%'
      

  8.   

    數據有問題
    我這樣可以
    select ArticleID from table where (keyword like '%aaa%') and (keyword like '%bbb%')
      

  9.   

    articleID | keyword
       1          A
       2          B
       1          C
       3          A
    就这样,如何把KEYWORD同时等于A和C的文章找出来
      

  10.   

    Try:create table t
    (
       articleID int,
       keyword  varchar(20)
    )insert into t
    select   1,          'A'  union
    select   2,          'B'  union
    select   1,          'C'  union
    select   3,          'A'create function f_unit (@id int)
    returns varchar(8000)
    as
       begin 
    declare @s varchar(8000)
    set @s = ''
            select @s = @s + keyword
    from   t 
            where articleID =@id return @S
       endselect articleID , dbo.f_unit(articleID) as keyword into #
    from t
    group by articleIDselect * 
    from t
    where articleID in
    (
      select articleID 
      from #
      where charindex('A',keyword) > 0 
      and   charindex('C',keyword) > 0 
    )
    Drop table T
    drop table #