Sql查询两个select语句

时间:2013-09-11 06:14:19

标签: c# asp.net sql-server-2008

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;
        }

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

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

在此表中,我需要添加Faculty名称..应该从其他表中获取..

4 个答案:

答案 0 :(得分:1)

您可以按如下方式加入表格。根据您的表更改关系和列名称。如果你也可以使用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 ;

答案 1 :(得分:1)

您可以将Memberhip_det表与其他表联系以检索faculty_name。但是这两个表应该有一个共同的连接字段或主键和外键。

还尝试使用存储过程而不是内联查询

答案 2 :(得分:0)

尝试将union用于两个sql select语句

<强> UNION UNION命令用于从两个表中选择相关信息,非常类似于JOIN命令。但是,使用UNION命令时,所有选定的列都必须具有相同的数据类型。使用UNION时,只选择不同的值。

答案 3 :(得分:0)

将外键关系发送到教师表上的FID列,并按如下所示更改您的查询

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 ;