列出一个表中在另一个表里包含的记录如表a
aa
bb
cc表B
aabb
abcd查询后结果是
aa
bb谢谢大侠们指点

解决方案 »

  1.   

    declare @a table(col varchar(2)) 
    insert @a select 'aa' 
    insert @a select 'bb' 
    insert @a select 'cc' declare @b table(col varchar(8)) 
    insert @b select 'aabb' 
    insert @b select 'abcd' 
    select * 
    from @a a
    where exists(select 1 from @b where charindex(a.col,col)>0)/*col  
    ---- 
    aa
    bb(所影响的行数为 2 行)*/
      

  2.   

    有直接的sql语句么,我不知道 怎么写到asp的查询里,谢谢,基础比较差
      

  3.   


     发表于:2007-11-20 11:46:441楼 得分:0 
    SQL codedeclare @a table(col varchar(2)) 
    insert @a select 'aa' 
    insert @a select 'bb' 
    insert @a select 'cc' declare @b table(col varchar(8)) 
    insert @b select 'aabb' 
    insert @b select 'abcd' 
     
     是测试用的,
    select * 
    from @a a
    where exists(select 1 from @b where charindex(a.col,col)>0)
    你写这个就好了
      

  4.   

    charindex在oracle 里不支持,oracle里是什么命令呢?谢谢
      

  5.   


    借用下
    declare @a table(col varchar(2)) 
    insert @a select 'aa' 
    insert @a select 'bb' 
    insert @a select 'cc' declare @b table(col varchar(8)) 
    insert @b select 'aabb' 
    insert @b select 'abcd'
    然后
    select a.col
    from @a a
    where (exists(select * from @b b where b.col like ('%'+a.col))) or (exists(select * from @b b where b.col like (a.col+'%')))
      

  6.   


    ---结果补上
    col
    ----
    aa
    bb
      

  7.   

    頂5樓, 不過條件換成
    where (exists(select * from @b b where b.col like ('%'+a.col+'%'))) PS: charindex在ORACLE中的對應函數INSTR:
    S:charindex (@a,@b) 
    O:INSTR(@b,@a)注意參數位置要互換