Sql server 从多个表中选择并在sql中按排序顺序插入

Sql server 从多个表中选择并在sql中按排序顺序插入,sql-server,tsql,Sql Server,Tsql,看起来数据不是按“选择”的顺序插入的。从我的知识来看,逻辑对我来说很好。现在确定我错在哪里了吗?你能帮忙吗 DECLARE @ReportDate DATE; SET @ReportDate = '20130930'; TRUNCATE TABLE #tmpIntTabel; INSERT INTO #tmpCareTabel ( [SK_ServiceProviderID] ,[ReportYear] ,[ReportMo

看起来数据不是按“选择”的顺序插入的。从我的知识来看,逻辑对我来说很好。现在确定我错在哪里了吗?你能帮忙吗

DECLARE @ReportDate DATE;
    SET @ReportDate = '20130930';
    TRUNCATE TABLE #tmpIntTabel;
    INSERT INTO #tmpCareTabel (
        [SK_ServiceProviderID]
        ,[ReportYear]
        ,[ReportMonth]
        ,[CommissionerCode]
        ,[ServiceProviderName]
        )
        select * from       
        (SELECT DISTINCT tc.SK_ServiceProviderID 
            ,t.Years
            ,t.Months
            ,tc.CommissionerCode
            ,tc.ServiceProviderName
            FROM #TargetClientGroup tc
            INNER JOIN 
            (SELECT
                SK_ServiceProviderID
                ,datepart(yy, dateadd(m, datediff(m, 0, ReportDate), 0)) as Years
                ,datename(mm, dateadd(m, datediff(m, 0,ReportDate), 0)) as Months
                FROM dbo.Component
                WHERE ReportDate <= @ReportDate
                GROUP BY    SK_ServiceProviderID
                            ,ReportDate) t
            on tc.SK_ServiceProviderID = t.SK_ServiceProviderID) a 
    ORDER BY Years
    ,Months
    ,CommissionerCode
当我选择表格时,插入之后。我得到无序的数据。

试试这个

按t.年订购 ,t.个月
,tc.CommissionerCode

当您执行SELECT时,如果您想获得特定的订单,则必须始终提供ORDERBY子句。在任何关系数据库中都没有隐含或自动的顺序是的,我同意这一点,因此提供了。但我担心它不能正常工作。好吧,您似乎正在尝试按特定顺序插入数据,假设它将再次按相同顺序返回。事实并非如此!无论您如何插入数据,表本身从来没有任何顺序。只有在检索数据时,在SELECT语句中显式使用ORDER BY,才能获得有序的结果集。感谢您的精彩解释。我完全同意这种说法。这是一个存储过程,其中通过选择多个临时表来创建表并插入daya。所以当我执行这个过程的时候。我希望数据以默认的有序方式显示。我只是想澄清一点,因为您似乎从@marc_的第一条注释中漏掉了它,SQL中没有默认、隐式或自动的行顺序。或者,如果您愿意,这种默认顺序是不保证的,这意味着,当您检索数据而不指定order BY时,服务器可以自由地以任何顺序返回数据,并且这种行为符合标准。返回的订单可能是也可能不是存储订单的订单。你不应该依赖它。对不起,这不起作用。。我有一份随意的清单。我希望插入件由col1然后col2然后col32012 2012年4月3486 hackmanshop 2012年4月3476 backmanshop 2012年5月3466 pmanshop 2012年5月3445 henackmanshop 2013年5月34234 gapmanshop 2013年5月3434 rankmanshop 2013年8月3456 dinkmanshop 2013年9月3456 hackmanshop 2013年9月3419 supermanshop订购