【问题标题】:Get value of one table from another从另一个表中获取一个表的值
【发布时间】:2013-11-13 03:33:42
【问题描述】:

我有表 tblEmployees 与列 EmployeeID, DeptID, Fname, Lname 和表 tblDepartments 与列 DeptID, Deptname, Description

我正在尝试使用 datagridview 从 tblEmployees 检索所有记录,但对于第二列,我想显示 Deptname 的值。例如我有 2 个部门,1 = dept1 和 2 = dept2。我希望输出是部门的名称而不是 DeptID。如何使用 asp.net c# 做到这一点?

另外,我如何将FnameLname 合并为一列?谢谢。

【问题讨论】:

  • 如果员工的部门名称超过 2 个以上
  • @user2971155 如果您指定 select Deptname from table 那么您可以调用 datafield='Deptname'

标签: c# mysql asp.net sql datagridview


【解决方案1】:

你可以像下面这样使用sql语句

select e.EmployeeID, e.DeptID, e.Fname, e.Lname, d.Deptname, d.Description, CONCAT(e.Fname ,' ' , e.Lname) as FullName  
from 
tblEmployees e join tblDepartments  d On d.DeptID = e.DeptID

DEMO

【讨论】:

    【解决方案2】:

    对于第二个问题,您可以使用简单的连接

    SELECT `Fname` + ' ' + `Lname` as `FullName`;
    

    【讨论】:

    • 如何使用 ASP.NET? <asp:BoundField datafield="Lname" headertext="Last Name"/><asp:Boundfield datafield="Fname" headertext="First Name"/>
    • 我不熟悉 ASP.NET,这有帮助吗:forums.asp.net/t/1467935.aspx
    【解决方案3】:

    您可以使用以下 SQL:

    select e.EmployeeID, e.DeptID, d.Deptname, d.Description, isnull(e.Fname,'')+' '+isnull( e.Lname,'') as empFullName from tblEmployees e join tblDepartments  d On d.DeptID = e.DeptID
    

    cancat 值必须使用 isnull 函数,否则如果任何一个值为 null,则 concat 值也为 null。

    对于 asp.net,您在 boundfield 中使用列名,并且您需要在 headerfield 中使用正确的名称,例如

    <asp:boundfield runat="server" datafield="empFullName" headertext="Employee Name" >
    

    【讨论】:

      猜你喜欢
      • 2023-03-12
      • 1970-01-01
      • 2016-09-23
      • 2017-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多