我希望我的结果看起来像这样
FirstName1 LastName1 FirstName2 LastName2
Amy Smith Bob Stone
Fred Joker Gina White
其中 FirstName1 和 FirstName2 具有相同的数据类型,但我无法使用任何内容来加入(假设没有人具有相同的名称),LastName1 和 LastName2 也是如此。
我尝试创建 2 个表。第一个表包含 FirstName1 和 LastName1。第二个表包含 Firstname2 和 LastName2。
然后我使用
SELECT table1.FirstName1, table1.LastName1, table2.FirstName2, table2.LastName2
FROM table1, table2;
但这给了我很多重复项。有什么建议么?
最佳答案
SELECT t1.FirstName1, t1.LastName1, t2.FirstName2, t2.LastName2
FROM
(SELECT
FirstName1,
LastName1,
ROW_NUMBER() OVER (ORDER BY FirstName1) 'RowNumber'
FROM table1
) AS t1
FULL OUTER JOIN
(SELECT
FirstName2,
LastName2,
ROW_NUMBER() OVER (ORDER BY FirstName2) 'RowNumber'
FROM table2
) AS t2
ON t1.RowNumber = t2.RowNumber
FULL OUTER JOIN
将处理两个表中的行数不相同的情况。
关于sql - 在结果集中并排连接列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13427400/