排序后如何将记录插入表变量

时间:2019-04-09 14:43:04

标签: sql sql-server

排序后如何将记录插入表变量?

我尝试以下思考,但找不到结果。

DECLARE @tblFilterVendorValuesModel AS TABLE([Name] NVARCHAR(400), DisplayOrder INT);
DECLARE @tblFilterVendorValuesModel2 AS TABLE([Name] NVARCHAR(400), DisplayOrder INT);

INSERT INTO @tblFilterVendorValuesModel VALUES('ZE',0);
INSERT INTO @tblFilterVendorValuesModel VALUES('A',0);
INSERT INTO @tblFilterVendorValuesModel VALUES('E',0);
INSERT INTO @tblFilterVendorValuesModel VALUES('X',0);

INSERT INTO @tblFilterVendorValuesModel2
SELECT Name,DisplayOrder FROM @tblFilterVendorValuesModel ORDER BY Name DESC

SELECT 'SADF'
SELECT * FROM @tblFilterVendorValuesModel2

我得到了最终结果

ZE  0
A   0
E   0
X   0

但是我需要将此结果转换为asc显示顺序。

1 个答案:

答案 0 :(得分:0)

在必要的列ORDER BY中使用Name

SELECT * FROM @tblFilterVendorValuesModel2 ORDER BY Name

输出:

Name    DisplayOrder
A           0
E           0
X           0
ZE          0

更新:

表中的数据未排序。因此,插入数据的顺序并不重要。

在您的C#代码中,您可以使用linq扩展方法OrderBy(x=> x.Name)