C# 双select语句的Sql查询

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, "

……。。 …….. 上面是在网格视图中显示数据的代码的一部分。我正在显示*from Membership_det,还需要显示其他表中的教员姓名…如何使用上述查询添加查询..显示*from Membership_det表和其他表中的教员姓名

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 ;