MySQL - 从多个表中加入数据查询

时间:2016-10-04 04:15:29

标签: mysql

我想从“T_Tester(表1#)”查询,但有些数据来自“T_handler(表2#)”。 我尝试了'内部加入',但没有工作。

我的代码在这里,我很确定出了问题......

     select * from T_Tester
     inner join T_handler where T_handler.Tester=T_Tester.Tester;

表示例:

    ========================
    T_Tester (table 1#)
    ========================
    Tester      Data
    Tester-001  qqq
    Tester-001  www
    Tester-001  eee
    Tester-001  rrrr
    Tester-001  ttt
    Tester-001  yyyy

    ========================
    T_handler (table 2#)
    ========================
     Tester     Handler
     Tester-001 Handler-006
     Tester-002 Handler-005
     Tester-003 Handler-004
     Tester-004 Handler-003
     Tester-005 Handler-002
     Tester-006 Handler-001

需要帮助:

我想要的输出。 将2个表与此序列组合:'T_Tester.Tester','T_handler.Handler','T_Tester.Data'。

    ========================
    Query output 
    ========================
     Tester     Handler     Data
     Tester-001 Handler-006 qqq
     Tester-001 Handler-006 www
     Tester-001 Handler-006 eee
     Tester-001 Handler-006 rrrr
     Tester-001 Handler-006 ttt
     Tester-001 Handler-006 yyyy

3 个答案:

答案 0 :(得分:0)

尝试left outer join

select distinct 
    T.Tester, 
    H.Handler, 
    D.Data 
from 
    T_Tester T
        left outer join T_handler H 
            on H.Tester = T.Tester

答案 1 :(得分:0)

您可以使用内部联接: -

select T.Tester, H.Handler, T.Data from T_Tester T inner join T_handler H where T.Tester=H.Tester;

参考: - http://www.mysqltutorial.org/mysql-inner-join.aspx

http://www.w3schools.com/sql/sql_join.asp

答案 2 :(得分:0)

select t1.Tester,t1.Handler,t2.Data from T_handler t1 inner join T_Tester t2 where t1.Tester = t2.Tester;