1

我很难做出这个多重选择语句。

这是我选择 *. 在reportsto 列中,它是另一个员工的ID。我想在此列中显示该员工的名字和姓氏

empID   FName  LName ReportsTo
1         te    xxxx     6
6         aaa   asfa     1
5         zzz   xxxx     6
4         ttt   asfa     1




this how i want to display it on my gridview
empID   FName  LName ReportsTo
1         te    xxxx     aaa asfa      
6         aaa   asfa     te xxxx
5         zzz   xxxx     te xxxx
4         ttt   asfa     aaa asfa

提前感谢

4

2 回答 2

2

您需要单独加入表格才能获取用户报告的名称。下面的查询使用INNER JOIN,它将显示所有值为 的用户reportsTo。但是,如果某列reportsTo可以为并且您希望显示所有用户,请LEFT JOIN改用。

SELECT  a.*,
        b.Fname TO_Fname,
        b.LName TO_F_NAME
FROM    emp a
        INNER JOIN emp b
            ON a.reportsTo = b.empID

要进一步了解有关联接的更多信息,请访问以下链接:

如果你想连接两列,

SELECT  a.*,
        b.Fname + ' ' + b.LName Report_TO_Name
FROM    emp a
        INNER JOIN emp b
            ON a.reportsTo = b.empID
于 2013-03-13T01:44:33.593 回答
0

如果您有 Null 报告,您可以使用“Left Join”而不是“Inner Join”

select C.empID, C.FName, C.LName, T.FName + ' ' + T.LName Report_TO_Name from emp C left join emp T on (c.reportsTo = T.empID)

于 2013-03-13T08:55:33.633 回答