Sql 基于相似值获取数据

Sql 基于相似值获取数据,sql,spring,postgresql,spring-mvc,Sql,Spring,Postgresql,Spring Mvc,我有两张桌子。表一和表二 表1: code name 10 ABC 11 DEF 12 FGH 表2: code1 code2 code3 Buyer 10 11 12 AAA 12 11 10 BBB 11 12 10 CCC 现在,我想进行SQL查询,获取code1、code2、

我有两张桌子。表一和表二

表1:

code   name
 10     ABC
 11     DEF
 12     FGH
表2:

code1  code2   code3      Buyer    
10       11      12        AAA        
12       11      10        BBB       
11       12      10        CCC        
现在,我想进行SQL查询,获取code1、code2、code3、买家以及code1、code2和code3的名称。。 我的SQL查询是:

SELECT t1.name, t2.code, t2.issued, t2.balance 
FROM table1 t1, table2 t2 
WHERE t1.code = t2.code; 
使用此SQL查询,不会基于每个代码获取名称。输出错误。
我希望输出像{code1=10,name=ABC,code2=11,name=DEF,code3=12,name=FGH,buyer=AAA}

您必须使用不同的别名多次加入表

SELECT t2.code, t2.issued, t2.balance,
       tname1.name as code1_name,
       tname2.name as code2_name,
       tname3.name as code3_name
FROM table2 t2
JOIN table1 tname1 WHERE tname1.code = t2.code1
JOIN table1 tname2 WHERE tname2.code = t2.code2
JOIN table1 tname3 WHERE tname3.code = t2.code3

必须使用不同的别名多次加入表

SELECT t2.code, t2.issued, t2.balance,
       tname1.name as code1_name,
       tname2.name as code2_name,
       tname3.name as code3_name
FROM table2 t2
JOIN table1 tname1 WHERE tname1.code = t2.code1
JOIN table1 tname2 WHERE tname2.code = t2.code2
JOIN table1 tname3 WHERE tname3.code = t2.code3

对于代码c1、c2、c3名称,您肯定需要3个连接,如下所示

         Select code1,c1.name,code2
        ,c2.name,code3,c3.name,buyer
        from table2,
        table1 c1,table1 c2,table1 c3 where 
        c1.code=code1 and c2.code=code2 and 
        c3.code=code3

对于代码c1、c2、c3名称,您肯定需要3个连接,如下所示

         Select code1,c1.name,code2
        ,c2.name,code3,c3.name,buyer
        from table2,
        table1 c1,table1 c2,table1 c3 where 
        c1.code=code1 and c2.code=code2 and 
        c3.code=code3