chúng tôi có một cái nhìn trong cơ sở dữ liệu của chúng tôi có một ORDER BY trong đó. Bây giờ, tôi nhận ra lượt xem thường không đặt hàng, bởi vì những người khác nhau có thể sử dụng nó cho những thứ khác nhau và muốn nó được đặt hàng khác nhau. Tuy nhiên, chế độ xem này được sử dụng cho một trường hợp sử dụng VERY SPECIFIC yêu cầu một đơn đặt hàng nhất định. (Đây là bảng xếp hạng đồng đội cho giải đấu bóng đá.)ORDER BY trong một Sql Server 2008 xem
Cơ sở dữ liệu là Sql Server 2008 Express, v.10.0.1763.0 trên hộp Windows Server 2003 R2.
Quan điểm được định nghĩa như vậy:
CREATE VIEW season.CurrentStandingsOrdered
AS
SELECT TOP 100 PERCENT *, season.GetRanking(TEAMID) RANKING
FROM season.CurrentStandings
ORDER BY
GENDER, TEAMYEAR, CODE, POINTS DESC,
FORFEITS, GOALS_AGAINST, GOALS_FOR DESC,
DIFFERENTIAL, RANKING
Nó trả về:
GENDER, TEAMYEAR, CODE, TEAMID, CLUB, NAME,
WINS, LOSSES, TIES, GOALS_FOR, GOALS_AGAINST,
DIFFERENTIAL, POINTS, FORFEITS, RANKING
Bây giờ, khi tôi chạy một CHỌN chống lại xem, nó ra lệnh cho các kết quả theo GIỚI TÍNH, TEAMYEAR , CODE, TEAMID. Lưu ý rằng nó được đặt hàng bởi TEAMID thay vì POINTS theo thứ tự theo điều khoản quy định.
Tuy nhiên, nếu tôi sao chép câu lệnh SQL và chạy nó chính xác như trong cửa sổ truy vấn mới, nó đặt hàng chính xác như được chỉ định theo mệnh đề ORDER BY.
Thật khó chịu! Tôi có thể thấy/hiểu không đảm bảo nó trong một VIEW, loại ... nhưng nó ít nhất phải làm việc trong một hàm có giá trị bảng. GRRR. Cảm ơn câu trả lời anyway. :) – eidylon