簡體   English   中英

如何將具有特定值的行附加到我的T-SQL查詢的輸出中?

[英]How do I append a row with specific values to the output of my T-SQL query?

我正在使用SQL Server 2014,我有以下運行良好的T-SQL查詢:

SELECT Id, Name from TravelAgency

此查詢的輸出的最后一行如下所示:

Id       Name
---      ----
---      ----
715      AB Ltd

我想“手動”將以下值附加到此查詢的結果集:(999,XY Ltd),以便運行修改后的查詢將給出以下結果:

Id       Name
---      ----
---      ----
715      AB Ltd
999      XY Ltd

為簡化起見,查詢從TravelAgency表中提取請求的數據,並在輸出結束時ADDS指定的值。 我需要在查詢中添加這些特定值,但我無法弄清楚如何做到這一點!

使用聯合全部:

select id, name from xxx -- is your query
union all
select 999 as id, 'XY Ltd' as name 

編輯:除了@ThorstenKettner的評論:如果ID不是nummeric或由於任何原因你不能使用它進行排序,那么你可以這樣做:

select ID, Name
from 
(
    select 1 as SpecialSort, ID, Name from xxx -- is your query
    union all
    select 2 as SpecialSort, 999 as ID, 'XY Ltd' as Name
) AllData
order by SpecialSort asc -- like this your manually added row will appear at the end

使用UNION附加所需的條目以及返回結果集。 如果999 XY Ltd條目已經存在,則可以避免。

SELECT Id, Name FROM TravelAgency
UNION 
SELECT 999 AS [Id], 'XY Ltd' AS [Name]

如果999 XY Ltd已經返回表格結果集並允許重復輸入,您可以使用UNION ALL並確保將999 XY Ltd作為ORDER BY最后一條記錄

SELECT Id, Name FROM (
    SELECT Id, Name FROM TravelAgency
    UNION ALL
    SELECT 999 AS [Id], 'XY Ltd' AS [Name]
) AS T 
ORDER BY Id

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM