从另一个表中获取一个表的值

时间:2013-11-13 03:33:42

标签: c# mysql asp.net sql datagridview

我的表tblEmployees包含EmployeeID, DeptID, Fname, Lname列,表tblDepartments包含DeptID, Deptname, Description列。

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

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

3 个答案:

答案 0 :(得分:2)

您可以使用如下所示的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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

您可以使用以下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" >
相关问题