1

我有两个表如下:

- tblEmployee

    employeeID    | Name   
    10            | sothorn
    20            | lyhong        
    30            | sodaly    
    40            | chantra    
    50            | sangha   
    60            | bruno

 - tblSale

        ID | employeeID   | employeeSaleID
        1  | 30           | 10
        2  | 10           | 40   
        3  | 50           | 20

我想从 tableSale 中选择并加入 tblEmployee 结果:

1 | sodaly  | sothorn
2 | sothorn | chantra
3 | sangha  | lyhong
4

5 回答 5

3

这是对您的数据的示例查询。 http://sqlfiddle.com/#!2/b74ca/5/0

于 2013-10-23T08:08:49.533 回答
2

这很简单

询问

SELECT
    tblSale.ID,
    l.Name,
    r.Name
FROM tblSale
INNER JOIN tblEmployee l On l.employeeID = tblSale.employeeID
INNER JOIN tblEmployee r ON r.employeeID = tblSale.employeeSaleID

小提琴

输出

| ID |   LNAME |   RNAME |
|----|---------|---------|
|  1 |  sodaly | sothorn |
|  2 | sothorn | chantra |
|  3 |  sangha |  lyhong |
于 2013-10-23T08:58:09.320 回答
2

尝试这个:

在这里,您需要使用内部联接从两个表中获取数据。

select 
id, e1.name as name1, e2.name as name2 
from 
tblSale s, tblEmployee e1, tblEmployee e2 
where 
s.employeeID=e1.employeeID 
and 
s.employeeSaleID=e2.employeeID 
order by 
s.id
  • 谢谢
于 2013-10-23T08:29:57.407 回答
2

只需选择表的所有行tblSale,然后连接tblEmployee表两次:

SELECT s.ID, e1.Name, e2.Name
FROM tblSale s
INNER JOIN tblEmployee e1
    ON e1.employeeID = s.employeeID
INNER JOIN tblEmployee e2
    ON e2.employeeID = s.employeeSaleID
于 2013-10-23T08:05:05.670 回答
1

只需加入employee表两次,一次到employeeID,一次到employeeSaleID

于 2013-10-23T08:03:08.207 回答