gpt4 book ai didi

sql - Sql Server 中带有 Union 的 Order by 子句

转载 作者:行者123 更新时间:2023-12-02 03:19:04 30 4
gpt4 key购买 nike

我想要数据库中第一个选项为“全部”的各方名称列表。但我不会将“全部”插入数据库,只需要检索时间。所以,我写了这个查询。

Select 0 PartyId, 'All' Name
Union
select PartyId, Name
from PartyMst

这是我的结果

0   All
1 SHIV ELECTRONICS
2 AAKASH & CO.
3 SHAH & CO.

当我使用按名称排序时,它会显示以下结果。

2   AAKASH & CO.
0 All
3 SHAH & CO.
1 SHIV ELECTRONICS

但是,我希望第一个选项为“全部”,然后按排序顺序列出各方。我怎样才能做到这一点?

最佳答案

您需要使用 CASE 的子查询在ORDER BY像这样的子句:

SELECT * FROM
(
Select 0 PartyId, 'All' Name
Union
select PartyId, Name
from PartyMst
) tbl
ORDER BY CASE WHEN PartyId = 0 THEN 0 ELSE 1 END
,Name

输出:

<表类=“s-表”><标题>PARTYID姓名 <正文>0全部2阿卡什公司3SHAH & CO.1SHIV电子

参见this SQLFiddle

关于sql - Sql Server 中带有 Union 的 Order by 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18225354/

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