在mysql低版本中是无法用一个SQL语句实现的,高版本可以这么做:select * from
( select * from mp3
  union
  select * from SongName
) tmp
where SongName like '%songname%'()里的语句就是先将两个表的数据合并,为上层select提供数据源

解决方案 »

  1.   

    这样不就行啦!select * from mp3 where SongName like '%songname%'
    union all
    select * from SongName where SongName like '%songname%'
      

  2.   

    这样怎么样?
    select * from t01.SongName as SongName1,t01.SongName as SongName2 from mp3 as t01, wma as t02 where SongName1 like '%songname%' and SongName2 like '%songname%'
      

  3.   

    你的语句会报错是因为两个表中存在同样的字段名,mysql不知道是哪个表中的那个字段。
    这种问题只能用union处理,否则就只好查找两次了。
    你的那个语句如果在where子句里面限定是哪个表的字段可以保证不报错,但是结果将是同样的一个结果出现很多行。