SQL查询获取结果连接两个表,匹配2个不同的值

时间:2013-05-01 11:38:37

标签: sql

我有2张桌子 第一张表是

客户编号,客户名称,地点,州

  • 1,ABC,DEL,DL
  • 2,ABD,PNP,HR
  • 3,ABE,LDH,PB

另一张表

代码,说明

  • 德里,德里
  • DL,Delhi
  • PNP,Panipat
  • HR,Haryana
  • LDH,Ludhiana
  • PB,Pubjab

我需要一个显示以下结果的SQL查询

客户编号,客户名称,地点,州

  1. 1,ABC,DELHI,DELHI
  2. 2,ABD,PANIPAT,HARYANA
  3. 3,ABE,LUDHIANA,PUNJAB

1 个答案:

答案 0 :(得分:2)

基本上,您需要在Table2上加入Table1两次,因为它上面有两个相关列。

SELECT  a.CustomerNumber,
        a.CustomerName,
        b.Description Place,
        c.Description State
FROM    Table1 a
        INNER JOIN Table2 b
            ON a.Place = b.Code
        INNER JOIN Table2 c
            ON a.State = c.Code

要进一步了解联接,请访问以下链接:

输出

╔════════════════╦══════════════╦══════════╦═════════╗
║ CUSTOMERNUMBER ║ CUSTOMERNAME ║  PLACE   ║  STATE  ║
╠════════════════╬══════════════╬══════════╬═════════╣
║              1 ║ ABC          ║ Delhi    ║ Delhi   ║
║              2 ║ ABD          ║ Panipat  ║ Haryana ║
║              3 ║ ABE          ║ Ludhiana ║ Pubjab  ║
╚════════════════╩══════════════╩══════════╩═════════╝