dataset中不同的datatable如何合并成一张datatable
一个dataset中,生成了4张基础的datatable1、datatable2、datatable3、datatable4
表1
id name
表2
id sex
表3
id year
表4
id tel
现在要做个报表,最好能够将这4个表合并成一个表,当作数据源的时候就只需要用一个表了。
表5
id name sex year tel
id重复的就合并
前面4个表是通过查询得到的
请问应该使用什么方法,才能达到这个合并的效果。
表1
id name
表2
id sex
表3
id year
表4
id tel
现在要做个报表,最好能够将这4个表合并成一个表,当作数据源的时候就只需要用一个表了。
表5
id name sex year tel
id重复的就合并
前面4个表是通过查询得到的
请问应该使用什么方法,才能达到这个合并的效果。
作者: jndscz 发布时间: 2011-06-16
SQL code
select a.id,a.name,b.sex,c.year,d.tel from 表1 a left join 表2 b on a.id=b.id left join 表3 c on a.id=c.id left join 表4 d on a.id=d.id
作者: zy112429 发布时间: 2011-06-16
引用 1 楼 zy112429 的回复:
SQL code
select a.id,a.name,b.sex,c.year,d.tel from 表1 a
left join 表2 b on a.id=b.id
left join 表3 c on a.id=c.id
left join 表4 d on a.id=d.id
SQL code
select a.id,a.name,b.sex,c.year,d.tel from 表1 a
left join 表2 b on a.id=b.id
left join 表3 c on a.id=c.id
left join 表4 d on a.id=d.id
left join 是不是只按照左边的行数的,比如
表1中id号码为 1 2 3
表2中id号码为 2 3 4
表3中id号码为 5 6
表4中id号码为 1 7
那么按照这个方法最终得出的能保证id包含
1
2
3
4
5
6
7
吗
作者: jndscz 发布时间: 2011-06-16
引用 2 楼 jndscz 的回复:
引用 1 楼 zy112429 的回复:
SQL code
select a.id,a.name,b.sex,c.year,d.tel from 表1 a
left join 表2 b on a.id=b.id
left join 表3 c on a.id=c.id
left join 表4 d on a.id=d.id
left join 是不是只按照左边的行数的,比如
表……
SQL code
引用 1 楼 zy112429 的回复:
SQL code
select a.id,a.name,b.sex,c.year,d.tel from 表1 a
left join 表2 b on a.id=b.id
left join 表3 c on a.id=c.id
left join 表4 d on a.id=d.id
left join 是不是只按照左边的行数的,比如
表……
select isnull(isnull(isnull(a.id,b.id),c.id,d.id),a.name,b.sex,c.year,d.tel from 表1 a full join 表2 b on a.id=b.id full join 表3 c on a.id=c.id full join 表4 d on a.id=d.id
作者: zy112429 发布时间: 2011-06-16
另外 inner join 用不了,我这四个表数据量太庞大了(帖子里面的只是示例),一用就无响应
最好是能够有直接合并4个datatable成一个新的datatable的方法,生成在同一个dataset中
最好是能够有直接合并4个datatable成一个新的datatable的方法,生成在同一个dataset中
作者: jndscz 发布时间: 2011-06-16
记录多,要给4个表的id字段都做索引
作者: sz_haitao 发布时间: 2011-06-16