当前位置: 代码迷 >> Sql Server >> 带关系的两个表横向拼凑如何做
  详细解决方案

带关系的两个表横向拼凑如何做

热度:74   发布时间:2016-04-27 13:07:57.0
带关系的两个表横向拼凑怎么做啊
表A  
select * from a 
得到下图


表B
select * from b
得到下图


如果select * from a left join b on a.uid = b.uid 
则


我想要的结果如下


用join的话 ,有些行并不需要,我只是想拼起来就行,不用那个笛卡尔积,这个问题怎么解决啊,在线等,。,。。。

------解决方案--------------------
SQL code
select * from(select row_number()over(partition by UID order by getdate()) as row,* from a)tfull join (select row_number()over(partition by UID order by getdate()) as row,* from b)mon a.row=b.row
------解决方案--------------------
探讨

引用:
引用:
首先谢谢你,那个name那一列没有用,全当没有那一列,如果没有name那一列怎么做

从楼主给的例子看,结果中a1-b1,a2-b2,a3-b3,a4-b4,a5-b5,所以无法不用name这一列.
不用的话就是一对多的关系,结果自然是笛卡尔积.

能不能不用笛卡尔许积,只是把两个表按UID排序 然后拼凑啊。SQL能不能实现这种功……
  相关解决方案