从sql数据库的三个表中提取部分数据,然后插入到另一个新表中(vs2005,c#)

vs2005中,从一个数据库的三个表(表1,表2,表3)中分别提取出部分数据,然后保存到令一个新表(表4)中,新表中的字段名和原来表中的字段名不同(如在表1中字段名name,在表4中字段名为Tname),请高手指点。

insert into 表4 ( a ,b , c , tname)
select 表1.a,表2.b,表3.c, 表1.name
from 表1,表2,表3
where 表1.xxx = 表2. xxx
...
...追问

能说具体点吗?就是where 表1.xxx = 表2. xxx 后面的语句。谢谢了

追答

就是连接条件,我不清楚你的各表之间的连接条件,所以示范一下

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-03-12
很可能是以下:

insert into 表四 values(’select name from 表一', select age from 表二, 'select name from 表三');
第2个回答  2012-03-13
select name, ……(需要提取的字段名称) into 表4 from 表1,表2,表3追问

你的方法中select from 得到的查询结果不是我想要的结果,比如表1,表2,表3的列中各有2个数据,即2行,按你的方法查询的结果是8行,插入以后也是8行,可我要的是直接得到每个列下面的2行数据,插入到新表相应的列中,即结果是2行数据

追答

你这边没有说明需查询的那三个表的联系和所需要取得的每个表中的字段,你可以把详细的情况说一下吗?

追问

在vs2005中,分别从表xinxi(name,sex,hao,bir)中提取name字段,sex字段,bir字段下的数据,从表xin3(name,sex,address,phone,frind)中提取address字段,phone字段,frind字段的数据,保存到令一个新表Txinxi(Tname,Tsex,Tbir,Tphone,Taddress,Tfrind)的相应字段中,出现了问题,我要的结果是查询表xinxi中两字段的数据插入到新表中,表xin3的两字段的数据插入到新表中,望指教,谢谢。

追答

select a.name as Tname,a.sex as Tsex,a.bir as Tbir,b.address as Taddress,b.phone as Tphone,b.frind as Tfrind into Txinxi from xinxi as a ,xin3 as b where a.name=b.name and a.sex=b.sex

追问

xinxi表和xin3表是两个互不关联的表,字段名虽然有相同,但是数据并不相同,所以按您的方法也不可以的。

追答

那你可以修改where条件
还有就是表xinxi中存储的是name,sex,hao,bir,表xin3 存储的是name,sex,address,phone,frind 需要从这两个表中提取字段,存到一个新表TXinin中,如果这两个表示没有任何关联的,我不明白为什么要把这两个表的数据放到一起。

相似回答