T-SQL 在查询的第一行添加文本
T-SQL Add text on first row of query
我有一个 table 标签,其中包含 2 个字段 ID、文本。我想用不同的 Text 值进行查询,并在第一个位置添加 'All' (它用于 SSRS 参数值)
我做了以下查询:
SELECT 'All' [Text] Union
Select DISTINCT [text] from tag
问题是有些文本以数字开头,并且在查询中出现在所有文本之前。我如何进行查询才能在第一行中获得全部
您可以使用 union all
来防止排序:
SELECT 'All' [Text] UNION ALL
(Select DISTINCT [text] from tag order by [text])
SELECT 'All' AS [Text], 0 AS Sorter
UNION
SELECT [text], 1 AS Sorter
FROM tag
ORDER BY 2,1
如果您只想要文本,请尝试:
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
希望对您有所帮助。
我有一个 table 标签,其中包含 2 个字段 ID、文本。我想用不同的 Text 值进行查询,并在第一个位置添加 'All' (它用于 SSRS 参数值) 我做了以下查询:
SELECT 'All' [Text] Union
Select DISTINCT [text] from tag
问题是有些文本以数字开头,并且在查询中出现在所有文本之前。我如何进行查询才能在第一行中获得全部
您可以使用 union all
来防止排序:
SELECT 'All' [Text] UNION ALL
(Select DISTINCT [text] from tag order by [text])
SELECT 'All' AS [Text], 0 AS Sorter
UNION
SELECT [text], 1 AS Sorter
FROM tag
ORDER BY 2,1
如果您只想要文本,请尝试:
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
希望对您有所帮助。