我的表tblEmployees
包含EmployeeID, DeptID, Fname, Lname
列,表tblDepartments
包含DeptID, Deptname, Description
列。
我正在尝试使用datagridview从tblEmployees中检索所有记录,但对于第二列,我想要显示Deptname
的值。例如,我有2个部门,1 = dept1和2 = dept2。我希望输出是部门的名称而不是DeptID。我如何使用asp.net c#?
另外,如何将Fname
和Lname
合并为一列?感谢。
答案 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" >