【问题标题】:Creating two seperate columns through the same column identifier通过相同的列标识符创建两个单独的列
【发布时间】:2019-11-22 02:44:58
【问题描述】:

我想显示两个使用相同表标识符的不同列,但我最终得到了同一列两次。

有一个表包含以下信息:

Entity // Amount     // SupplierID // ManagerID  
-----------
A      // 54816.65   //  154       //    15  
A      // 18511.55   //  163       //    15  
B      // 51616.69   //  415       //    8  
C      // 32178.32   //  846       //    6 

还有一个表,其中包含我们数据库中所有公司的结构

CompanyID   //   CompanyName
-----------
1           //     Company 1  
2           //     Company 2  
3           //     Company 3  
[...]  
6486        //     Company 6486  
6487        //     Company 6487  

在我的最终显示中,我希望使用公司名称而不是公司 ID。到目前为止,我只需要显示公司或经理,因此我将在 ID 上连接两个表,如下所示

SELECT Companyname
FROM table 2
INNER JOIN table 1
ON SupplierID=CompanyID

鉴于只有一列 [Company Name],我不确定如何使用此列中的信息,但根据绑定的 ID 将其显示在两个单独的列中。 (例如 SupplierID、ManagerID)

提前谢谢你

【问题讨论】:

    标签: sql


    【解决方案1】:

    您必须使用table2 加入table1 两次:

    SELECT t1.*, 
      s.Companyname SupplierCompanyName,
      m.Companyname ManagerCompanyName
    FROM table1 t1
    INNER JOIN table2 s ON t1.SupplierID = t2.CompanyID
    INNER JOIN table2 m ON t1.ManagerID = t2.CompanyID
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-14
      • 2022-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多