我知道我可以创建临时表,插入记录,订购它然后再使用union,但我正在寻找替代路线。我尝试了一个cte,但我不得不订购整个不起作用的东西,因为我的工会记录并没有停留在顶部"。
基本上,我能够使用Id INT,Name VARCHAR(MAX)字段,并且我希望在返回集中的行[0]位置添加条目之前按ORDER BY Name。如果我在联合之后订购,我在第[0]行想要的行就会被订购。
有什么想法吗?
答案 0 :(得分:1)
您使用联合查询处于正确的轨道上。使用静态值强制排序。
select 0 sortfield, '' name, etc
union
select 1 sortfield, name, etc
from etc
order by sortfield, name.
答案 1 :(得分:0)
CREATE TABLE #temp (
idnt INT IDENTITY(2) NOT NULL --This begins the identity col with a value of 2
,Id INT
,Name VARCHAR(MAX)
)
INSERT INTO #temp
SELECT
...
FROM myTable
ORDER BY Name
CREATE TABLE #tempAPPEND (
idnt INT IDENTITY(1) NOT NULL --This begins the identity col with a value of 1
,Id INT
,Name VARCHAR(MAX)
)
INSERT INTO #tempAPPEND (Id, Name)
VALUES ('34384','Pinal Dave') -- SAMPLE VALUES
SELECT * FROM #temp
UNION
SELECT * FROM #tempAPPEND
ORDER BY idnt