【问题标题】:multiple select statements on the same table?同一张表上有多个选择语句?
【发布时间】:2013-02-28 19:31:06
【问题描述】:

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

如果我选择 *.在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

提前感谢

【问题讨论】:

    标签: sql sql-server-2008 tsql join


    【解决方案1】:

    您需要单独加入表格才能获取用户报告的名称。下面的查询使用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
    

    【讨论】:

    • 非常感谢它的工作。我有一个 emp 在reportsto 列上为空你知道如何仍然显示他的记录,但在reportto 列中没有任何内容
    • 我真的很感激。你的帮助太多了。
    【解决方案2】:

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

    选择 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)

    【讨论】:

      猜你喜欢
      • 2022-10-25
      • 1970-01-01
      • 1970-01-01
      • 2014-12-01
      • 2019-11-23
      • 2018-08-30
      • 2013-04-23
      • 1970-01-01
      • 2011-04-03
      相关资源
      最近更新 更多