我有N张表,但N张表里都有同一个字段名为“mu_id”我现在是想要在N张表字段为“mu_id”值等于13的数据全部列出来,以下是我的SQL语句,但语法错误,希望高手指正SELECT `business_frmadult`.`mu_id`, `business_frmmaster`.`mu_id`,`business_frmselfstudy`.`mu_id`,`business_frmskill`.`mu_id` FROM `business_frmadult`, `business_frmmaster`,`business_frmselfstudy`,`business_frmskill` where *.`mu_id`=13
where `business_frmadult`.`mu_id`=13 ro `business_frmmaster`.`mu_id`=13...
不想要这种写法,这样写很烦琐代码太多,效率也不是很高,因为表很多

解决方案 »

  1.   

    select * from (
    select mu_id,'t1' from t1
    union all
    select mu_id,'t2' from t2
    union all
    select mu_id,'t3' from t3
    ....) where mu_id='13'
      

  2.   

    select * from (
    select `mu_id`,'business_frmadult' from `business_frmadult`
    union all
    select `mu_id`,'business_frmmaster' from `business_frmmaster`
    union all
    ) where `mu_id`='13' 不行出错,语法错误
      

  3.   

    SELECT mu_id FROM A UNION ALL
    SELECT mu_id FROM B UNION ALL
    SELECT mu_id FROM C UNION ALL
    ......
      

  4.   

    select * from (
     select mu_id,'t1' from t1
     union all
     select mu_id,'t2' from t2
     union all
     select mu_id,'t3' from t3
     ....) a where mu_id='13'
      

  5.   

    select * from (
    select mu_id,'business_frmadult' from business_frmadult
    union all
    select mu_id,'business_frmmaster' from business_frmmaster
    union all
    ) where mu_id='13'  一样提示1064 语法错误
      

  6.   

    select * from (
     select mu_id,'business_frmadult' from business_frmadult
     union all
     select mu_id,'business_frmmaster' from business_frmmaster
     ) a where mu_id='13' 
      

  7.   

    这也不行select * from (
    select `mu_id` from `business_frmadult` union all
    select `mu_id` from `business_frmmaster` union all
    ) where `mu_id`='13' 
      

  8.   

    SELECT *
    FROM (SELECT `mu_id` , `name`
    FROM `business_frmadult`
    UNION ALL
    SELECT `mu_id` , `name`
    FROM `business_frmselfstudy`
    )a
    WHERE `mu_id` = '13'
    谢谢问题解决了,马上给分
      

  9.   

    select * from (
    select `mu_id`,'business_frmadult' from `business_frmadult`
    union all
    select `mu_id`,'business_frmmaster' from `business_frmmaster`) where `mu_id`='13'