Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL查询,像树一样按顺序联合_Sql_Sql Server_Sql Order By_Union - Fatal编程技术网

SQL查询,像树一样按顺序联合

SQL查询,像树一样按顺序联合,sql,sql-server,sql-order-by,union,Sql,Sql Server,Sql Order By,Union,你好,我有一个类似的问题 SELECT 4 AS sortf,XX FROM Table GROUP BY Y UNION SELECT 1 AS sortf,XX FROM Table GROUP BY Y UNION SELECT 2 AS sortf,XX FROM Table GROUP BY Y UNION SELECT 3 AS sortf,XX FROM Table GROUP BY Y ORDER BY 3,2 我的问题是,第2行和第3行的顺序不像一棵树。我尝试了一些其他的

你好,我有一个类似的问题

SELECT 4 AS sortf,XX FROM Table GROUP BY Y
UNION 
SELECT 1 AS sortf,XX FROM Table GROUP BY Y
UNION 
SELECT 2 AS sortf,XX FROM Table GROUP BY Y
UNION
SELECT 3 AS sortf,XX FROM Table GROUP BY Y
ORDER BY 3,2
我的问题是,第2行和第3行的顺序不像一棵树。我尝试了一些其他的组合,但没有成功。

如果要根据数字对数据集进行排序,请将代码和联合放入公共表表达式中,然后使用ROW_NUMBER函数生成行号,如下所示:

WITH CTE
AS
(
    SELECT 4 AS sortf, productid FROM Production.Products 
    UNION 
    SELECT 1 AS sortf,productid FROM Production.Products
    UNION 
    SELECT 2 AS sortf,productid FROM Production.Products
    UNION
    SELECT 3 AS sortf,productid FROM Production.Products
)
SELECT *, ROW_NUMBER() OVER (ORDER BY productid)  AS SortOrder
FROM CTE
ORDER BY SortOrder 

我实现了它,有一个列,其中第1-16行已排序。但我没有比示例中的orderby更多的可能性,因为我还必须在row number命令中指定orderby。报告是正确的,只有第2行和第3行必须放在其他行中。我不知道用简单的订货方式是否可行-UBD-RLS--RLS基尔--DetailData--DetailData-RWM--Neuenburg--DetailData--DetailData--Unterlüß--DetailData--DetailData