现有1个表和多个表有关联,属于1对多关系。
T1
id , tbId
1 , 1
2 , 2
3 , 4
4 , 5这个tbId的值分对应1:T2 , 2:T2 , 4:T3 ,5:T4
T2, T3, T4 的表结构是
tid, name现在要显示的结果是
id, tbId, name
1 , 1 A
2 , 2 B
3 , 4 C
4 , 5 D请问这样的语句如何些?数据库MYSQL

解决方案 »

  1.   

    Select *
    From T1 , (
    select 1 as tbId , tid,name from T2
    Union all
    select 2 as tbId , tid,name from T3
    Union all
    select 3 as tbId , tid,name from T4
    Union all
    select 4 as tbId , tid,name from T5
    ) tx
    Where t1. tbId=tx. tbId and t1. Id=tx. tid
      

  2.   

    Select * From T1 a inner join (
    select * from T2
    Union all
    select * from T3
    Union all
    select * from T4
    Union all
    select * from T5
    ) b on a. tbId=b.tId