<asp:Panel ID = "Panel1" runat="server" ScrollBars="Auto">
<asp:GridView ID = "GridView2" runat="server" AllowPaging="True" AutoGenerateColumns="False" DataSourceID="SqlDataSourceDelete" DataKeyNames="IvrDataid,dayid,menudataid">
<Columns>
<asp:BoundField DataField = "IvrDataid" HeaderText="IvrDataid" InsertVisible="False" ReadOnly="True" SortExpression="IvrDataid" />
<asp:BoundField DataField = "ivrName" HeaderText="ivrName" SortExpression="ivrName" />
<asp:BoundField DataField = "loginid" HeaderText="loginid" SortExpression="loginid" />
<asp:BoundField DataField = "countrycode" HeaderText="countrycode" SortExpression="countrycode" />
<asp:BoundField DataField = "greetingtext" HeaderText="greetingtext" SortExpression="greetingtext" />
<asp:BoundField DataField = "contactnumber" HeaderText="contactnumber" SortExpression="contactnumber" />
<asp:BoundField DataField = "starttime" HeaderText="starttime" SortExpression="starttime" />
<asp:BoundField DataField = "endtime" HeaderText="endtime" SortExpression="endtime" />
<asp:BoundField DataField = "loginid1" HeaderText="loginid1" SortExpression="loginid1" />
<asp:BoundField DataField = "ivrName1" HeaderText="ivrName1" SortExpression="ivrName1" />
<asp:BoundField DataField = "dayy" HeaderText="dayy" SortExpression="dayy" />
<asp:BoundField DataField = "ivrNumber" HeaderText="ivrNumber" SortExpression="ivrNumber" />
<asp:BoundField DataField = "mainMenuNum" HeaderText="mainMenuNum" SortExpression="mainMenuNum" />
<asp:BoundField DataField = "mainMenuText" HeaderText="mainMenuText" SortExpression="mainMenuText" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID = "SqlDataSourceDelete" runat="server" ConnectionString="<%$ ConnectionStrings:IvrContext %>"
SelectCommand=" SELECT * FROM IvrDatas INNER JOIN menudatas ON
IvrDatas.ivrName = menudatas.ivrName AND IvrDatas.loginid = menudatas.loginid
INNER JOIN days ON
IvrDatas.loginid = days.loginid AND IvrDatas.ivrName = days.ivrName
where IvrDatas.loginid = @lemail ">
<SelectParameters>
<asp:QueryStringParameter Name = "lemail" QueryStringField= "lemail" Type= "String" />
</ SelectParameters >
</ asp:SqlDataSource>
</asp:Panel>
我想在gridview中使用join来合并三个表,但问题是我得到了行的重复,因为我应该在加入后从3个表中获得6行但是我得到更多的行
答案 0 :(得分:0)
当存在多对一关系时,联接通常会创建多行。您必须根据您的用例处理它 - 通常使用GROUPing和子查询。但由于您似乎只是从其中一个表中显示数据,因此您可以轻松地使用DISTINCT
。
答案 1 :(得分:0)
SelectCommand =“SELECT IvrDatas。,days。,menudatas。* FROM IvrDatas INNER JOIN days ON IvrDatas.loginid = days.loginid AND IvrDatas.ivrName = days.ivrName INNER JOIN menudatas ON IvrDatas.loginid = menudatas.loginid AND IvrDatas.ivrName = menudatas.ivrName其中IvrDatas.loginid = @lemail“
//这个选择QUERY工作很精细,它通过加入3个表来获取重新获得的记录