在某个表中选择某些纪录
select * from mytable where myname like '%Tom%'如果在多个结构相同的表中选择怎么办呢?select * from mytable1,mytable2,mytable3 where myname like '%Tom%'
如果这样选就把表左右连起来了不对头,应该怎么写呢???

解决方案 »

  1.   

    怎么写的东西显示不全呢??
    补充
    如果select * from mytable1,mytable2,mytable3 where myname like '%Tom%'
    就把表左右连接起来了,不对头,应该怎么写呢?
      

  2.   

    select * from mytable1,mytable2,mytable3 where mytable1.myname like '%tom%'
      

  3.   

    如果你是关连起来的话。
    select *form mytable where youname'sIndex=mytable2.yourname'sIndex
      

  4.   

    可能我的意思没有表达清楚,再解释一下
    ---在多个结构完全相同的表中选择
    ---不要把几个表左右连接起来
    比如在mytable1里面有1行纪录myname like '%Tom%',
        在mytable2里面有3行纪录myname like '%Tom%',
        在mytable3里面有5行纪录myname like '%Tom%',
    那么选出的纪录字段数量应该等于mytable1(3个表的字段数量一样),纪录行数等于1+3+5=9
      

  5.   

    select * from mytable1 where myname like '%Tom%'
    union all
    select * from mytable2 where myname like '%Tom%'
    union all
    select * from mytable3 where myname like '%Tom%'
      

  6.   

    select count(*) 
    from 
     ( select * from mytable1 where myname like '%Tom%'
       union all
       select * from mytable2 where myname like '%Tom%'
       union all
       select * from mytable3 where myname like '%Tom%'
     ) as t1
    用来查记录数
      

  7.   

    非常感谢
    我每次给了分都看不到别人得的分数
    给: wolfpzp 46分,其他各位各1分