
select
v1.id,v1.user,v1.pass
,v2.id,v2.user,v2.pass
from
(select rownum rn1,id,user,pass from a表 t1) v1
full join
(select rownum rn2,id,user,pass from b表 t2) v2
on v1.rn1=v2.rn2
只是一个思路,如果是access或者sqlserver的可能要改动伪劣的获取方法
另外就是取两个DataTable出来,手工合并
// 直接模拟了两个表,从数据库取DataTable就不写了
DataTable dt1 = new DataTable()
dt1.Columns.Add("id")
dt1.Columns.Add("user")
dt1.Columns.Add("pass")
DataTable dt2 = dt1.Clone()
dt1.Rows.Add(new object[] {1,"a","b" })
dt1.Rows.Add(new object[] {2,"v","m" })
dt2.Rows.Add(new object[] {2,"s","b" })
dt2.Rows.Add(new object[] {3,"l","n" })
DataTable dt_dest = dt1
DataTable dt_source = dt2
if(dt2.Rows.Count >dt1.Rows.Count)
{
dt_dest = dt2
dt_source = dt1
}
dt_dest.Columns.Add("id_b")
dt_dest.Columns.Add("user_b")
dt_dest.Columns.Add("pass_b")
dt_dest.Columns["id_b"].Caption = "id"
dt_dest.Columns["user_b"].Caption = "user"
dt_dest.Columns["pass_b"].Caption = "pass"
for(int i = 0i <dt_source.Rows.Counti++)
{
DataRow dest_row = dt_dest.Rows[i]
DataRow src_row = dt_source.Rows[i]
dest_row["id_b"] = src_row["id"]
dest_row["user_b"] = src_row["user"]
dest_row["pass_b"] = src_row["pass"]
}
dt_dest.AcceptChanges()
dt_dest应该就是你要的数据了
sql多表关联查询跟条件查询大同小异,主要是要知道表与表之前的关系很重要;举例说明:(某数据库中有3张表分别为:userinfo,dep,sex)
userinfo(用户信息表)表中有三个字段分别为:user_di(用户编号),user_name(用户姓名),user_dep(用户部门) 。(关系说明:userinfo表中的user_dep字段和dep表中的dep_id字段为主外键关系,userinfo表中的user_sex字段和sex表中的sex_id字段为主外键关系)
dep(部门表)表中有两个字段分别为:dep_id(部门编号),dep_name(部门名称)。(主键说明:dep_id为主键)
sex(性别表)表中有两个字段分别为:sex_id(性别编号),sex_name(性别名称)。(主键说明:sex_id为主键)
一,两张表关键查询
1、在userinfo(用户信息表)中显示每一个用户属于哪一个部门。sql语句为:
select userinfo.user_di,userinfo.user_name,dep_name from userinfo,dep where userinfo.user_dep=dep.dep_id2、在userinfo(用户信息表)中显示每一个用户的性别。sql语句为:
select userinfo.user_di,userinfo.user_name,sex.sex_name from userinfo,sex where userinfo.user_sex=sex.sex_id二、多张表关键查询
最初查询出来的userinfo(用户信息表)表中部门和性别都是以数字显示出来的,如果要想在一张表中将部门和性别都用汉字显示出来,需要将三张表同时关联查询才能实现。
sql语句为:
select userinfo.user_di,userinfo.user_name,dep.dep_name,sex.sex_name from userinfo,dep,sex where userinfo.user_dep=dep.dep_id and userinfo.user_sex=sex.sex_id(多个条件用and关联)
rs.open "select * from ciketianya order by id desc",conn,1,1这里不是连接了一个表吗?
你在声明一个
set rs2=server.createobject("adodb.recordset")
rs2.open "select * from 新表 order by id desc",conn,1,1
就可以 *** 作了
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)