日期:2014-05-20  浏览次数:20705 次

从两个表向一个表插入数据怎么做
例如:Table1:ID1 Field1
  1 x
  2 y
  3 z
  Table2:ID2 Field2
  1 o
  2 p
  3 q
插入以后我想得到的是
  Table3:ID3 Field1 Field2
  1 x o
  2 x p
  3 x q
  4 y o
  5 y p
  …… 
  9 z q
就是取 Field1 Field2的所有组合,请给详细解答 谢谢

------解决方案--------------------
var query=from t1 in Table1
from t2 in Table2
select new {t1.Field1,t2.Field2};

这是一个Cross JOIN
------解决方案--------------------
SQL code

--创建表一
create table table1
( 
   ID1 int primary key not null identity(1,1),
   Field1 varchar(20)
)
--插入数据
insert into table1 values('x');
insert into table1 values('y');
insert into table1 values('z');

--查看数据
select * from table1;


--创建表二
create table table2
( 
   ID2 int primary key not null identity(1,1),
   Field2 varchar(20)
)
--插入数据
insert into table2 values('o');
insert into table2 values('p');
insert into table2 values('q');
--查看数据
select * from table2;

--创建表三
create table table3
( 
   ID3 int primary key not null identity(1,1),
   Field1 varchar(20),
   Field2 varchar(20)
)

--选择表一和表二,插入数据到表三

insert into table3(Field1,Field2) select Field1,Field2 from table1, table2;

--查询表三数据,以验证结果
select * from table3;

------解决方案--------------------