0

私は2つのテーブルtblCarrierとtblCustomer. 両方のテーブルはINNER JOIN、会社名である同じ列名を持っています。問題は、データバインディングプロセスを使用するときです

<%#DataBinder.Eval(Container.DataItem, "CompanyName")%> 顧客の会社名を取得するには、キャリアの会社名を返します。クエリから気付いたのは、クエリ ステートメントの順序シーケンスに基づいて会社名が返されることです。

例えば

"SELECT tblCarrier.CarrierID,tblLoadMaster.Salesperson,tblLoadMaster.Status, tblCarrier.CompanyName, tblCustomer.CompanyName"

この T-SQL ステートメントは運送業者の会社名を返しますが、tblCustomer.CompanyNametblCarrier.CompanyNameに を付けると、顧客の会社が返されます。

相互参照テーブルに基づいて結果を取得するために列をデータバインドする方法はありますか?

4

1 に答える 1

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")%>
于 2013-01-07T14:57:09.227 に答える