C# 双select语句的Sql查询
……。。 …….. 上面是在网格视图中显示数据的代码的一部分。我正在显示*from Membership_det,还需要显示其他表中的教员姓名…如何使用上述查询添加查询..显示*from Membership_det表和其他表中的教员姓名C# 双select语句的Sql查询,c#,asp.net,sql-server-2008,C#,Asp.net,Sql Server 2008,……。。 …….. 上面是在网格视图中显示数据的代码的一部分。我正在显示*from Membership_det,还需要显示其他表中的教员姓名…如何使用上述查询添加查询..显示*from Membership_det表和其他表中的教员姓名 DateTime startDate = DateTime.ParseExact(txtstart.Text, "MM/dd/yyyy", null); DateTime endDate = DateTime.ParseExact(txtend.Text, "
DateTime startDate = DateTime.ParseExact(txtstart.Text, "MM/dd/yyyy", null);
DateTime endDate = DateTime.ParseExact(txtend.Text, "MM/dd/yyyy", null);
string n1 = DropDownList2.SelectedItem.Text;
if (DropDownList1.SelectedItem.Text == "Membership")// here you can add selectedindex as well
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ProjectConnectionString"].ToString());
con.Open();
SqlDataAdapter adapter = new SqlDataAdapter("select * from Membership_det where updateDate between @Start and @End and FID ="+n1+"", con);
adapter.SelectCommand.Parameters.Add("@Start", SqlDbType.Date).Value = startDate;
adapter.SelectCommand.Parameters.Add("@End", SqlDbType.Date).Value = endDate;
}
在这个表中,我需要添加Faculty name.。它应该从另一个表中获取。尝试对两个sql select语句使用union 联合
UNION命令用于从两个表中选择相关信息,与JOIN命令非常相似。但是,使用UNION命令时,所有选定的列都需要具有相同的数据类型。使用UNION,只选择不同的值。您可以按如下方式联接表。根据表更改关系和列名。如果您也可以为FID使用参数,则效果更好
FID MembNo MembType Validity Remarks UpdateDate
100 23 basn 6 dgag 9/5/2013 12:00:00 AM
200 566 basn 6 adhu 9/6/2013 12:00:00 AM
您可以将
membership\u det
表与另一个表联接以检索教员名称。但这两个表应该有一个公共连接字段或主键和外键
还可以尝试使用存储过程而不是内联查询将外键关系映射到教员表上的FID列,并按如下方式更改查询
SELECT m.*, f.Name
FROM Membership_det m
INNER JOIN faculty f
ON m.FID = f.FID
WHERE m.updateDate between @Start and @End and m.FID =@FID ;
您可以使用联接/子查询。向我们展示表结构,以便我们为您提供详细的解决方案。了解子查询和表联接,从不同的表检索相关数据。使用但问题是f.name在Memnbership_det中不存在。它是否正常工作?@shryastg您的教员表中有哪些列?
select Membership_det.MembNo, Membership_det.MembType,Membership_det.Validity,Membership_det.Remarks,Membership_det.UpdateDate,faculty.facultyname FROM Membership_det INNER JOIN faculty ON Membership_det.FID = faculty.FID
WHERE Membership_det.updateDate between @Start and @End and Membership_det.FID =@FID ;