1
A
回答
1
CREATE TABLE #Table1(Value VARCHAR(10),Id VARCHAR(10))
INSERT INTO #Table1(Value ,Id)
SELECT 'A',1 UNION ALL
SELECT 'B',2 UNION ALL
SELECT 'C',3 UNION ALL
SELECT 'D',4 UNION ALL
SELECT 'E',5
;WITH _CTE (Name) AS
(
SELECT Value [Name]
FROM #Table1
UNION ALL
SELECT Id [Name]
FROM #Table1
)
SELECT * FROM _CTE
1
最棘手的部分是在交替行
select col2
from
(select col1, 1 as flag, col1 from tab
union all
select col1, 2, col2 from tab
) as dt
order by col1, flag
但是,为什么你尝试这样做,在所有数据?
1
试试这个:
WITH CTE AS
(
SELECT Col1Name Name,(ROW_NUMBER() OVER(ORDER BY(SELECT NULL))) RN
FROM TableName
UNION
SELECT Col2Name Name,(ROW_NUMBER() OVER(ORDER BY(SELECT NULL)))+1 RN
FROM TableName
)
SELECT Name
FROM CTE
ORDER BY RN
+0
这种排序是你可以做的最好的,没有第三列强加排序。也许你可以扩展? –
+0
感谢您的建议。但是这个脚本会得到你想要的结果。你也可以试试这个样本数据。 ;) –
+1
当然很确定:)我只是想指出'ORDER BY(SELECT NULL))'执行任意排序。当例如索引被添加/改变时它可以改变。我会打出一个答案,但看到已经有三个答案,我只是想,也许你可以扩大这个答案。 –
2
我会用一个UNION ALL
但这里是UNPIVOT
选择:
CREATE TABLE #Table1(letter VARCHAR(10),Id VARCHAR(10))
INSERT INTO #Table1(letter ,Id)
SELECT 'A',1 UNION ALL
SELECT 'B',2 UNION ALL
SELECT 'C',3 UNION ALL
SELECT 'D',4 UNION ALL
SELECT 'E',5
SELECT [value]
FROM #Table1
UNPIVOT
(
[value] FOR [Column] IN ([Id], [letter])
) UNPVT
DROP TABLE #Table1;
相关问题
- 1. 结合两列到一个使用django_tables2
- 2. OpenCL,为单个设备使用两个命令队列进行双缓冲
- 3. 一次用libpcap监听两个设备
- 4. SQL Server - 从两行,一列到一行,两列?
- 5. 使用行明智减法合并两个表到一个
- 6. 使用.corr得到两列
- 7. 列中备用行的备用数据
- 8. 使用GKPeerPickerController连接两个设备
- 9. 仅限一列中的备用行 - CSS
- 10. 使用两个列表
- 11. 使用两个datetime列
- 12. 使用两个阵列
- 13. 把两列放到一个
- 14. 使用LINQ使用两个键列加入两个数据表
- 15. 如何使用AutoMapper将一个列表映射到两个列表?
- 16. 更好地使用一个列表对,或两个列表?
- 17. 使用两列
- 18. 如何使用一个按钮插入两行Laravel使用ajax
- 19. 如何将备用行合并到每个后续列?
- 20. 使用两个列表的Scala排列
- 21. 如何使用文件列表一次调用两个可执行文件?
- 22. 如何两个列表中有两列合并到一个
- 23. SQL(JOIN) - 两个结果从一列到两个列
- 24. 连接两个表,多行到一行的不同列
- 25. 选择两行,使用从一行
- 26. 转换两个矩阵到使用列表应用
- 27. 使用两个JCalender进行SWT应用
- 28. 比较使用grep在unix中的两个文件中的备用行
- 29. 合并两行合并到一列
- 30. 加入到使用两个非FK列与功能NHibernate一个表
你可以尝试使用功能,这或使用CTE查询与子功能 – Learning
的组合要获得排序权限,以便在交替行中获得结果,您需要向源表中添加第三列以强制排序。再加上下面的答案,这应该会让你获得预期的输出。 –
似乎这里的主要问题是将SQL表视为与电子表格相同。尽管肤浅的相似之处,但它们不是一回事。所有的行值都应该与一个“东西”紧密对齐。分开的行应该是独立的。行和列不可互换。 –