从两个表向一个表插入数据如何做
从两个表向一个表插入数据怎么做
例如: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
------解决方案--------------------
例如: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;
------解决方案--------------------