SQLSERVER 没有指定order by,查询视图view时,默认下是根据什么排序的啊
数据库是MSDE,用C++写的代码
查询对象是下面的视图View
USE [MyDatabase]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE VIEW [dbo].[V_POSTotalRepSectionSales]
AS
SELECT dbo.V_POSTotalRepSectionHeader.ShopCode,
dbo.V_POSTotalRepSectionHeader.SalesDate,
dbo.V_POSTotalRepSectionHeader.SectionCode,
dbo.V_POSTotalRepSectionHeader.Name,
dbo.V_POSTotalRepSectionHeader.Type,
ISNULL(SUM(dbo.POSTotalSectionSales.[Count]), 0) AS [Count],
ISNULL(SUM(dbo.POSTotalSectionSales.Amount), 0) AS Amount
FROM dbo.POSTotalSectionSales RIGHT OUTER JOIN
dbo.V_POSTotalRepSectionHeader ON
dbo.POSTotalSectionSales.SectionCode = dbo.V_POSTotalRepSectionHeader.SectionCode
AND
dbo.POSTotalSectionSales.SalesDate = dbo.V_POSTotalRepSectionHeader.SalesDate
AND
dbo.POSTotalSectionSales.ShopCode = dbo.V_POSTotalRepSectionHeader.ShopCode
GROUP BY dbo.V_POSTotalRepSectionHeader.ShopCode,
dbo.V_POSTotalRepSectionHeader.SalesDate,
dbo.V_POSTotalRepSectionHeader.SectionCode,
dbo.V_POSTotalRepSectionHeader.Name,
dbo.V_POSTotalRepSectionHeader.Type
查询SQL是下面的语句(没有指定order by)
SELECT
ShopCode,SalesDate,Type,SectionCode,Name,Count,Amount
FROM dbo.V_POSTotalRepSectionSales
WHERE SalesDate = '2009/07/01'
注释:表中,都是一个店铺的数据,任何一天的数据,前面的ShopCode都是相同的,
Type是SectionCode的第一位数字(字符类型),
问题:一般情况下,查询的时候,出来的结果是按照SectionCode排序的,
但是,有时候,查出来的结果是乱序的,请告诉我,在未指定order by的时候,
是根据什么字段或什么数据排序的啊?
*************************参考视图V_POSTotalRepSectionHeader********************************
USE [MyDatabase]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE VIEW [dbo].[V_POSTotalRepSectionHeader]
AS
SELECT DISTINCT
dbo.POSTotalSectionSales.ShopCode, dbo.POSTotalSectionSales.SalesDate,
dbo.POSSectionMaster.SectionCode, dbo.POSSectionMaster.Name,
SUBSTRING(dbo.POSSectionMaster.SectionCode, 1, 1) AS Type
FROM dbo.POSSectionMaster CROSS JOIN
dbo.POSTotalSectionSales