帮助文档 除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效
从视图里查出来后在排序吧要不就别用视图了 直接用sql查
视图表示一个逻辑实体,所以视图中的行是没有顺序的。TOP 和ORDER BY以及FOR XML和ORDER BY可以出现在视图的定义中,单独的ORDER BY却是不可以的。所以定义视图不能使用ORDER BY。 可以在使用视图的时候使用ORDER BY,例如 SELECT * FROM 视图名称 order by 排序字段
同意,如果没有必要还是建议LZ直接使用SQL语句或者存储过程
视图和控件直接绑定,想让控件显示的值按某列顺序排列,木有办法加SQL了
视图只是一个虚拟表,只能按照你存储进去的顺序排列,要不你修改视图先排序试试CREATE VIEW NUMBER_VIEW AS SELECT TOP 100 PERCENT NUMBER FROM MASTER..SPT_VALUES WHERE TYPE='P' AND NUMBER BETWEEN 1 AND 12 ORDER BY NUMBER DESC SELECT * FROM NUMBER_VIEWNUMBER ----------- 12 11 10 9 8 7 6 5 4 3 2 1(所影响的行数为 12 行)
CREATE VIEW NUMBER_VIEW AS SELECT TOP 100 PERCENT NUMBER,TYPE FROM MASTER..SPT_VALUES WHERE TYPE='P' AND NUMBER BETWEEN 1 AND 12 ORDER BY NUMBER DESC SELECT * FROM NUMBER_VIEW NUMBER TYPE ----------- ---- 12 P 11 P 10 P 9 P 8 P 7 P 6 P 5 P 4 P 3 P 2 P 1 P (所影响的行数为 12 行)DROP VIEW NUMBER_VIEW什么意思,?
CREATE VIEW NUMBER_VIEW AS SELECT TOP 100 PERCENT NUMBER ,high FROM MASTER..SPT_VALUES WHERE TYPE='P' AND NUMBER BETWEEN 1 AND 12 ORDER BY high DESC select * from NUMBER_VIEWNUMBER high ----------- ----------- 1 2 2 4 3 8 4 16 5 32 6 64 7 128 8 1 9 2 10 4 11 8 12 16(12 行受影响)不是按high排的
CREATE VIEW NUMBER_VIEW AS SELECT TOP 100 PERCENT high FROM MASTER..SPT_VALUES WHERE TYPE='P' AND NUMBER BETWEEN 1 AND 12 ORDER BY high DESC select * from NUMBER_VIEW
ORDER BY 子句仅用于确定视图定义中的 TOP 子句返回的行。ORDER BY 不保证在查询视图时得到有序结果,除非在查询本身中也指定了 ORDER BY。通过外层再加排序来实现: select * from View_test order by Col1
CREATE VIEW NUMBER_VIEW AS SELECT TOP 100 PERCENT NUMBER,HIGH FROM MASTER..SPT_VALUES WHERE TYPE='P' AND NUMBER BETWEEN 1 AND 12 ORDER BY HIGH DESC SELECT * FROM NUMBER_VIEWNUMBER HIGH ----------- ----------- 7 128 6 64 5 32 4 16 12 16 11 8 3 8 2 4 10 4 9 2 1 2 8 1(所影响的行数为 12 行) DROP VIEW NUMBER_VIEW你的不同?我的都行
建议之后再排序. 加top 100 percent一定程度上影响性能.
TONY哥好久不见了, 楼主如果要绑定,可以先通过查询ORDER BY 后填充数据集,再设置数据源应该可以,
除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效
可以在使用视图的时候使用ORDER BY,例如 SELECT * FROM 视图名称 order by 排序字段
AS
SELECT TOP 100 PERCENT
NUMBER
FROM
MASTER..SPT_VALUES
WHERE
TYPE='P'
AND
NUMBER BETWEEN 1 AND 12 ORDER BY NUMBER DESC
SELECT * FROM NUMBER_VIEWNUMBER
-----------
12
11
10
9
8
7
6
5
4
3
2
1(所影响的行数为 12 行)
AS
SELECT TOP 100 PERCENT
NUMBER,TYPE
FROM
MASTER..SPT_VALUES
WHERE
TYPE='P'
AND
NUMBER BETWEEN 1 AND 12 ORDER BY NUMBER DESC
SELECT * FROM NUMBER_VIEW
NUMBER TYPE
----------- ----
12 P
11 P
10 P
9 P
8 P
7 P
6 P
5 P
4 P
3 P
2 P
1 P (所影响的行数为 12 行)DROP VIEW NUMBER_VIEW什么意思,?
CREATE VIEW NUMBER_VIEW
AS
SELECT TOP 100 PERCENT
NUMBER ,high
FROM
MASTER..SPT_VALUES
WHERE
TYPE='P'
AND
NUMBER BETWEEN 1 AND 12 ORDER BY high DESC
select * from NUMBER_VIEWNUMBER high
----------- -----------
1 2
2 4
3 8
4 16
5 32
6 64
7 128
8 1
9 2
10 4
11 8
12 16(12 行受影响)不是按high排的
CREATE VIEW NUMBER_VIEW
AS
SELECT TOP 100 PERCENT
high
FROM
MASTER..SPT_VALUES
WHERE
TYPE='P'
AND
NUMBER BETWEEN 1 AND 12 ORDER BY high DESC
select * from NUMBER_VIEW
select * from View_test order by Col1
AS
SELECT TOP 100 PERCENT
NUMBER,HIGH
FROM
MASTER..SPT_VALUES
WHERE
TYPE='P'
AND
NUMBER BETWEEN 1 AND 12 ORDER BY HIGH DESC
SELECT * FROM NUMBER_VIEWNUMBER HIGH
----------- -----------
7 128
6 64
5 32
4 16
12 16
11 8
3 8
2 4
10 4
9 2
1 2
8 1(所影响的行数为 12 行)
DROP VIEW NUMBER_VIEW你的不同?我的都行
加top 100 percent一定程度上影响性能.
楼主如果要绑定,可以先通过查询ORDER BY 后填充数据集,再设置数据源应该可以,
----------- -----------
1 2
2 4
3 8
4 16
5 32
6 64
7 128
8 1
9 2
10 4
11 8
12 16(12 行受影响)
http://topic.csdn.net/t/20061124/11/5182161.html#