如何合并 2 个表的结果
Posted
技术标签:
【中文标题】如何合并 2 个表的结果【英文标题】:How to combine results from 2 tables 【发布时间】:2016-07-03 09:59:26 【问题描述】:我有这样的表 1:
和表2:
结果应该是这样的:
我想合并上面 2 个表格的结果。我该怎么做?感谢您的帮助。
【问题讨论】:
你能展示一下你到目前为止所做的尝试吗? @PeterSmith 我想得到这样的结果:res.cloudinary.com/luanvne/image/upload/v1467540559/… 【参考方案1】:他们似乎没有关系,所以你需要CROSS JOIN
:
SELECT *
FROM Table1 t
CROSS JOIN Table2 s
编辑:使用ROW_NUMBER()
:
SELECT tt.loaiphong,ss.col1,ss.col2........
FROM (SELECT t.*,ROW_NUMBER() OVER(ORDER BY (SELECT 1)) as rnk FROM Table1 t) tt
INNER JOIN(SELECT s.*,ROW_NUMBER() OVER(ORDER BY (SELECT 1)) as rnk FROM Table2 s) ss
ON(tt.rnk = ss.rnk)
如果您对两个表中的所有记录感兴趣,而不仅仅是匹配的行,请将INNER JOIN
更改为FULL OUTER JOIN
。
【讨论】:
这似乎不正确,我得到了 9 行。 res.cloudinary.com/luanvne/image/upload/v1467540765/…我想得到这样的结果:res.cloudinary.com/luanvne/image/upload/v1467540559/… 为什么DLX
加入第一行?为什么SUI
到第二个?如果没有关系,我该怎么做? @ZaneKey
我在上面添加了结果的照片。你能看到并想象我想要得到什么结果吗?
你不听我的,为什么DLX
连接到第一行?!为什么不是第二个???
我只是想从表 1 和表 2 中组合并得到具有 3 行的新表,如下所示:res.cloudinary.com/luanvne/image/upload/v1467540559/… DLX 连接到第一行或第二行都没有关系。以上是关于如何合并 2 个表的结果的主要内容,如果未能解决你的问题,请参考以下文章