T-SQL在查询的第一行添加文本

T-SQL在查询的第一行添加文本,sql,tsql,ssrs-2012,Sql,Tsql,Ssrs 2012,我有一个带有两个字段ID和文本的表标记。我想使用文本的不同值进行查询,并在第一个位置添加“All”(它用于SSRS参数值) 我提出了以下问题: SELECT 'All' [Text] Union Select DISTINCT [text] from tag 问题是,查询中有一些以数字开头的文本,位于所有文本之前。如何进行查询以获取第一行中的全部您可以使用联合所有来防止排序: SELECT 'All' [Text] UNION ALL (Select DISTINCT [text] from

我有一个带有两个字段ID和文本的表标记。我想使用文本的不同值进行查询,并在第一个位置添加“All”(它用于SSRS参数值) 我提出了以下问题:

SELECT 'All' [Text] Union
Select DISTINCT [text] from tag

问题是,查询中有一些以数字开头的文本,位于所有文本之前。如何进行查询以获取第一行中的全部

您可以使用
联合所有
来防止排序:

SELECT 'All' [Text] UNION ALL
(Select DISTINCT [text] from tag order by [text])

您可以使用
union all
来阻止订购:

SELECT 'All' [Text] UNION ALL
(Select DISTINCT [text] from tag order by [text])
如果您只需要文本,请尝试:

WITH alltext AS (
SELECT 'All' AS [Text], 0 AS Sorter
UNION
SELECT [text], 1 AS Sorter
FROM tag
)
SELECT text FROM alltext ORDER BY sorter, text
希望有帮助

如果您只需要文本,请尝试:

WITH alltext AS (
SELECT 'All' AS [Text], 0 AS Sorter
UNION
SELECT [text], 1 AS Sorter
FROM tag
)
SELECT text FROM alltext ORDER BY sorter, text

希望这能有所帮助。

我不明白为什么所有人都能解决这个问题。我希望在第一行有'All',但在表中我有一些值,如1、2等,查询是按值排序的,它们在'All'值之前。修改了我的回答我不明白为什么所有的值都能解决这个问题。我希望在第一行有'All',但在表中我有一些值,如1,2等,查询是按值排序的,它们在'All'值之前。修改我的回答示例数据会有帮助。我们说有如下行:1,1w 2,SS 3,TTSample data会有帮助我们说有如下行:1,1w 2,SS 3,TTi已删除
不同的
,这在使用
联合时是不必要的。此外,第一次查询中的
orderby
必须是
orderby 2,1
i removed
distinct
,这在使用
union
时是不必要的。此外,在第一次查询中,
orderby
必须是
orderby 2,1