1. 首先,这两个表要有关系(比如主外);
2. 将有关系的键作为条件添加到where中;
如:
表t_message_info(c_id(primary key),c_name,c_type_id)
表t_message_type(t_id,t_name)
select * from t_message_info m,t_message_type t where m.c_type_id = t.t_id;
或者可以使用子查询:
select m.c_id, m.c_name, (select t.t_name from t_message_type t where t.t_id = m.c_type_id) from t_message_info m;
子查询的执行效率不高,推荐使用表连接
DataTable dt1=new DataTable();
SqlDataAdapter sdr1=new SqlDataAdapter(".....");
sdr1.Fill(dt1);
DataTable dt2=new DataTable();
SqlDataAdapter sdr2=new SqlDataAdapter(".....");
sdr2.Fill(dt2);
我直接手写的代码,可能有误,思路就是这样,你想查询多少个表都行,只要保持数据的表达对象不同即可。
我看你代码后面要绑定GridView控件的数据源,这个没有影响的,
你可以再拖一个GridView2进来绑定一下dt2的数据,可以看到2个GridView显示的数据都是按照你sql查询出来的结果。
SQL语句本身就能实现对两个表的查询
select A.*,B.* from A表 ,B表 where A.ID=B.ID
只需要一次交互就能取出需要的数据
用 sql语句中的 内连 外连 就可以解决了