我有两个表tblCarrier和tblCustomer
。两个表都是INNER JOIN
,并且具有相同的列名称,即公司名称。问题是当我使用数据绑定过程时
<%#DataBinder.Eval(Container.DataItem, "CompanyName")%>
要取回客户公司名称,它会返回运营商公司名称。我从我的查询中注意到,它根据查询语句中的顺序序列获取公司名称。
例如
“SELECT tblCarrier.CarrierID,tblLoadMaster.Salesperson,tblLoadMaster.Status, tblCarrier.CompanyName,tblCustomer.CompanyName“
此T-SQL声明将带回运营商公司名称,但如果我将tblCustomer.CompanyName
放在tblCarrier.CompanyName
之前,它将带回客户公司。
是否可以通过数据绑定列来获得基于交叉引用表的结果?
答案 0 :(得分:2)
您可以为冲突的列名称添加别名
SELECT tblCarrier.CarrierID,tblLoadMaster.Salesperson,tblLoadMaster.Status,
tblCarrier.CompanyName as Car_CompanyName,
tblCustomer.CompanyName as Cus_CompanyName;
然后在Eval调用中使用别名而不是列名。
<%#DataBinder.Eval(Container.DataItem, "Cus_CompanyName")%>