gpt4 book ai didi

sql - 将单行顶部添加到查询的排序结果集中

转载 作者:行者123 更新时间:2023-12-04 18:12:40 25 4
gpt4 key购买 nike

我有一个非常简单的要求。

SELECT NULL as ProjectId, 'All' as ProjectName

UNION

(
SELECT Project.ProjectId, Project.ProjectName
FROM Project Order by 2
)

原始输入顺序:
ProjectId       ProjectName     
24 Beta
56 Alpha
57 Gamma
120 Aap

预期结果集:
ProjectId      ProjectName         
______________________________
NULL All
120 Aap
56 Alpha
24 Beta
57 Gamma

我需要什么:我想在查询的有序结果集顶部添加一行

问题:
  • 子查询不允许具有Order By子句
  • 执行前100%会破坏订单,并且具有“全部”的行不会排在最前面
  • 声明一个Table变量,按顺序插入所有条目,然后对该表执行并集
    IE。
     Select NULL as ProjectId, 'All' as ProjectName...
    UNION
    select * from @myTable

    再次破坏订单

  • 请帮帮我

    最佳答案

    您可以订购UNION的结果,但是您需要提供其他列以标识数据的来源-这是SortOrder:

    SELECT NULL as ProjectId, 'All' as ProjectName, 1 SortOrder
    UNION ALL
    SELECT Project.ProjectId, Project.ProjectName, 2 SortOrder
    FROM Project
    order by SortOrder, ProjectName

    注意我用 UNION ALL替换了UNION,因为您不需要DISTINCT结果集。

    关于sql - 将单行顶部添加到查询的排序结果集中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10241993/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com