首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

多对多的关联语句怎么写

2012-03-24 
多对多的关联语句如何写多对多的关联语句如何写,要求显示两个表中的列:如table1表,table2表create table_1

多对多的关联语句如何写
多对多的关联语句如何写,要求显示两个表中的列:
如table1表,table2表
create table_1{
goodsid varchar(20),
a varchar(10),
b varchar(10)
c varchar(10)

};

create table_2{

goodsid varchar(20),
a varchar(10),
f varchar(10)
g varchar(10)

};

table_1中goodsid 为"dj001" 的记录有3条,table_2 中goodsid 为"dj001"的记录有2条,现在用语句把两个表关联以后,显示所有两个表中的记录,
我关联以后,显示的记录不全,或是表中字段有的值显示为空。如表2中是2条记录,表3中有3条记录,则会有一条的列显示为空

我分不多,请大家帮忙了!

[解决办法]

SQL code
select *  from  table_1unionselect *  from  table_22.select *  from  table_1 a full join  table_2  b  on a.goodsid =b.goodsid
[解决办法]
SQL code
select *  from table_1 t1 FULL OUTER JOIN     table_2 t2 ON t1.goodsid=t2.goodsid
[解决办法]
SQL code
create table table_1(goodsid varchar(20),a varchar(10),b varchar(10),c varchar(10))create table table_2(goodsid varchar(20),a varchar(10),f varchar(10),g varchar(10))insert into table_1 values('dj001','a','b','c')insert into table_1 values('dj001','a1','b1','c1')insert into table_1 values('dj001','a2','b2','c2')insert into table_2 values('dj001',null,'b','c')insert into table_2 values('dj001','a',null,'c')select * from table_1 a left join table_2 b on a.goodsid=b.goodsidselect * from table_1 a inner join table_2 b on a.goodsid=b.goodsidselect * from table_1 a full join table_2 b on a.goodsid=b.goodsidselect * from table_1 a right join table_2 b on a.goodsid=b.goodsid--仔细看看这几个连接结果是一样的
[解决办法]
select * from table_1 cross join table_2

热点排行