每次在静态DB上运行时,SQL查询结果都不同

时间:2017-01-11 09:50:20

标签: sql sql-server

我们有Microsoft SQL Server10.50.6529。每当我运行此查询时,我会得到不同的结果:

SELECT YEAR(A.EndZeit) AS Jahr
    , MONTH(A.EndZeit) AS Monat
    , CASE b.Priority
        WHEN 3
            THEN 'Low'
        ELSE ' '
        END AS "Priority"
    , count(*) AS Anzahl
FROM VIEW_INC_CI B
JOIN (
    SELECT Endzeit
        , Incident_Number
    FROM (
        SELECT ROW_NUMBER() OVER (
                PARTITION BY A.Incident_Number ORDER BY A.Incident_Number
                ) AS rk
            , A.Incident_Number
            , A.EndZeit
        FROM Calculation.IncidentAssignmentHistory A
        JOIN SPG.GruppenGruppen G
            ON A.AssignedGroupID = G.Support_Group_ID
                AND G.GroupName = 'GRPName'
        ) T
    WHERE rk = 1
    ) A
    ON B.Incident_Number = A.Incident_Number
WHERE B.Priority = 3
    AND B.STATUS != 6
    AND B.resolution_category NOT IN ('CategoryXY')
GROUP BY MONTH(A.EndZeit)
    , YEAR(A.EndZeit)
    , B.Priority
ORDER BY YEAR(A.EndZeit)
    , MONTH(A.EndZeit);

我已将两个内部查询替换为具有相同效果的临时表。 数据库是静态的,这意味着,在查询运行时,没有创建任何其他记录。

有没有人有想法,如何解决这种奇怪的行为?

我们得到:首先尝试:

Jahr    Monat   Prio    Anzahl
2013    10  Low 772
2013    11  Low 831
2013    12  Low 777
2014    1   Low 1087
2014    2   Low 1033
2014    3   Low 726
2014    4   Low 763
2014    5   Low 1799
2014    6   Low 1964
2014    7   Low 1912
2014    8   Low 1776
2014    9   Low 1682
2014    10  Low 1715
2014    11  Low 1623
2014    12  Low 1507
2015    1   Low 1755
2015    2   Low 1994

第二次尝试:

2013    10  Low 775
2013    11  Low 829
2013    12  Low 778
2014    1   Low 1087
2014    2   Low 1031
2014    3   Low 729
2014    4   Low 758
2014    5   Low 1797
2014    6   Low 1973
2014    7   Low 1912
2014    8   Low 1779
2014    9   Low 1678
2014    10  Low 1706
2014    11  Low 1620
2014    12  Low 1516
2015    1   Low 1748
2015    2   Low 2002

这是View_Incident_CI的定义:

USE [PREPORTDWH01]
GO

/****** Object:  View [dbo].[VIEW_INC_CI]    Script Date: 01/11/2017 11:06:07 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

create view [dbo].[VIEW_INC_CI] as (
select 
 H.Entry_ID,
 H.Submitter,
 H.Submit_Date,
 H.Assignee_Login_ID,
 H.Last_Modified_By,
 H.Last_Modified_Date,
 H.Status,
 H.Short_Description,
 H.Assignee_Groups,
 H.InstanceId,
 H.Vendor_Assignee_Groups,
 H.User_ID_Permissions,
 H.z1G_DefaultVUI,
 H.RootRequestName,
 H.Created_from_Template,
 H.Product_Categorization_Tier_1,
 H.Product_Categorization_Tier_2,
 H.Product_Categorization_Tier_3,
 H.Department,
 H.Site_Group,
 H.Region,
 H.LookupKeyword,
 H.Product_Name,
 H.Manufacturer,
 H.Product_Model_Version,
 H.Escalated_,
 H.Site,
 H.Reason_Code,
 H.Reason_Description,
 H.Return_Code,
 H.Assignee_Id,
 H.SRAttachment,
 H.Created_By,
 H.Show_For_Process,
 H.Command,
 H.Enable_Assignment_Engine,
 H.Assignee_Select_Form,
 H.SRInstanceID,
 H.HPD_Template_ID,
 H.Original_Last_Modified_Date,
 H.Original_Last_Modified_By,
 H.zD_NextDueDate_Time,
 H.PreviousStatus,
 H.StageCondition,
 H.CurrentStage,
 H.CurrentStageNumber,
 H.UnknownUser,
 H.SRMS_Registry_Instance_ID,
 H.SRMSAOIGuid,
 H.SRID,
 H.TemplateID,
 H.DataTags,
 H.SLMLookupTblKeyword,
 H.Last__Assigned_Date,
 H.TicketType,
 H.Association_Description,
 H.Created_From_flag,
 H.Flag_Create_Request,
 H.Component_ID,
 H.mc_ueid,
 H.cell_name,
 H.SLMEventLookupTblKeyword,
 H.policy_name,
 H.status_incident,
 H.status_reason2,
 H.root_component_id_list,
 H.root_incident_id_list,
 H.Impact_OR_Root,
 H.bOrphanedRoot,
 H.OptionForClosingIncident,
 H.first_name2,
 H.last_name2,
 H.Login_ID,
 H.Global_OR_Custom_Mapping,
 H.use_case,
 H.BiiARS_01,
 H.BiiARS_02,
 H.BiiARS_03,
 H.BiiARS_04,
 H.BiiARS_05,
 H.z1D_TotalBreachedIncidentsCoun,
 H.z1D_TotalCriticalIncidentsCoun,
 H.ClientLocale,
 H.ServiceCI,
 H.HPD_CI,
 H.TemplateGUID,
 H.ServiceCI_ReconID,
 H.HPD_CI_ReconID,
 H.z1D_CI_FormName,
 H.CI,
 H.Service,
 H.z1D_Template_Name,
 H.INCAutoCloseResolved_Sec,
 H.z1D_VISFormView,
 H.z1D_VISProcessFlowView,
 H.z1D_VISTargetForm,
 H.z1D_VendorAccess,
 H.Direct_Contact_Corporate_ID,
 H.KMSGUID,
 H.HPD_CI_FormName,
 H.Kickback_Count,
 H.Last_Kickback_Date,
 H.EffortDurationHour,
 H.z2AF_Work_Log01001,
 H.z2AF_Work_Log02001,
 H.z2AF_Work_Log03001,
 H.ServiceCI_Class,
 H.Direct_Contact_Login_ID,
 H.Customer_Login_ID,
 H.z1D_ServiceHealth,
 H.Description,
 H.Company,
 H.Country,
 H.State_Province,
 H.City,
 H.Organization,
 H.Assigned_Support_Organization,
 H.Full_Name,
 H.Last_Name,
 H.First_Name,
 H.Middle_Initial,
 H.Contact_Client_Type,
 H.VIP,
 H.Contact_Sensitivity,
 H.Country_Code,
 H.Area_Code,
 H.Local_Phone,
 H.Extension,
 H.Desk_Location,
 H.Mail_Station,
 H.Street,
 H.Zip_Postal_Code,
 H.GEOnet,
 H.Internet_E_mail,
 H.Corporate_ID,
 H.Phone_Number,
 H.Categorization_Tier_1 as operationalcategorizationtier1,
 H.Categorization_Tier_2 as operationalcategorizationtier2,
 H.Categorization_Tier_3 as operationalcategorizationtier3,
 H.HR_ID,
 H.Site_ID,
 H.Assigned_Group_ID,
 H.Person_ID,
 H.Contact_Company,
 H.Service_Type,
 H.CI_Tag_Number,
 H.Status_PPL,
 H.Additional_Location_Details,
 H.Status_Reason,
 H.Detailed_Decription,
 H.Resolution,
 H.Incident_Number,
 H.Urgency,
 H.Impact,
 H.Priority,
 H.Priority_Weight,
 H.Cost_Center,
 H.Reported_Source,
 H.Assigned_Group,
 H.Assignee,
 H.Vendor_Phone,
 H.Assigned_Support_Company,
 H.Shifts_Flag,
 H.Assigned_Group_Shift_Name,
 H.Assigned_Group_Shift_ID,
 H.Owner_Support_Organization,
 H.Vendor_Name,
 H.Owner_Group,
 H.Owner_Support_Company,
 H.Owner_Group_ID,
 H.Time_Zone,
 H.Total_OLA_AcknowledgeEsc_Level,
 H.Total_Escalation_Level,
 H.Total_OLA_Resolution_Esc_Level,
 H.Reported_Date,
 H.Responded_Date,
 H.Last_Acknowledged_Date,
 H.Last_Resolved_Date,
 H.Closed_Date,
 H.Last_SLA_Hold_Date,
 H.Re_Opened_Date,
 H.SLA_Hold,
 H.Onwer_Group_Uses_SLA,
 H.Assigned_Group_Uses_OLA,
 H.Last_Date_Duration_Calculated,
 H.Effort_Time_Spent_Minutes,
 H.Vendor_Ticket_Number,
 H.Owner,
 H.Owner_Login_ID,
 H.Total_Time_Spent,
 H.Generic_Categorization_Tier_1 ,
 H.Generic_Categorization_Tier_2 ,
 H.Generic_Categorization_Tier_3 ,
 H.Vendor_Contact,
 H.Incident_Association_Type,
 H.Original_Incident_Number,
 H.Reported_to_Vendor,
 H.Patch_Last_Build_ID,
 H.Infrastructure_Chg_Initiated,
 H.Category,
 H.Reproduceable_Flag,
 H.Assign_To_Vendor,
 H.Broadcasted_Flag,
 H.Web_Incident_ID,
 H.SLM_Priority,
 H.OLA_Hold,
 H.SLA_Responded,
 H.Acknowledgment_Start_Date,
 H.Resolution_Start_Date,
 H.EH,
 H.DR,
 H.SLA_Res_Business_Hour_Seconds,
 H.Assignment_Method,
 H.Resolution_Category,
 H.Next_Target_Date,
 H.SLM_Status,
 H.Direct_Contact_Internet_E_mail,
 H.Vendor_Organization,
 H.Vendor_Group,
 H.Vendor_Group_ID,
 H.Vendor_Email,
 H.Vendor_Responded_On,
 H.Vendor_Last_Name,
 H.Vendor_First_Name,
 H.Vendor_Person_ID,
 H.Vendor_Resolved_Date,
 H.Group_Transfers,
 H.Total_Transfers,
 H.Individual_Transfers,
 H.Vendor_Login_ID,
 H.Vendor_Assignment_Status,
 H.Resolution_Method,
 H.Resolution_Category_Tier_2,
 H.Resolution_Category_Tier_3,
 H.Closure_Product_Category_Tier1,
 H.Closure_Product_Category_Tier2,
 H.Closure_Product_Category_Tier3,
 H.Closure_Product_Name,
 H.Closure_Product_Model_Version,
 H.Closure_Manufacturer,
 H.SLA_Breach_Reason,
 H.SLA_Breach_Exception,
 H.Closure_Source,
 H.Satisfaction_Rating,
 H.Estimated_Resolution_Date,
 H.Required_Resolution_DateTime,
 H.Inbound,
 H.Outbound,
 H.Direct_Contact_Company,
 H.Direct_Contact_Last_Name,
 H.Direct_Contact_First_Name,
 H.Direct_Contact_Middle_Initial,
 H.Direct_Contact_Phone_Number,
 H.Direct_Contact_Organization,
 H.Direct_Contact_Department,
 H.Direct_Contact_Region,
 H.Direct_Contact_Site_Group,
 H.Direct_Contact_Site,
 H.Direct_Contact_Person_ID,
 H.Direct_Contact_Street,
 H.Direct_Contact_Country,
 H.Direct_Contact_State_Province,
 H.Direct_Contact_City,
 H.Direct_Contact_Zip_Postal_Code,
 H.Direct_Contact_Time_Zone,
 H.Direct_Contact_Desk_Location,
 H.Direct_Contact_Mail_Station,
 H.Direct_Contact_Location_Detail,
 H.Direct_Contact_Site_ID,
 H.Direct_Contact_Country_Code,
 H.Direct_Contact_Area_Code,
 H.Direct_Contact_Local_Number,
 H.Direct_Contact_Extension,
 H.z2AF_Work_Log01002,
 H.z2AF_Work_Log02002,
 H.z2AF_Work_Log03002,
 H.Attachment,
 H.Support_Group_Role,
 H.Reuters__c,
 H.Solution_by___c,
 H.Character_Field,
 H.Responsible___c,
 H.ObservedBy,
 H.Responsible_,
 H.Solution_by_,
 H.Reuters,
 H.SIX_Restricted_Data_link2,
 H.SIX_Restricted_Data_link3,
 H.ResolutionAttachment,
 H.ResolutionAttachment__c,
 B.RequestId,
 B.Submitter as CI_Submitter,
 B.CreateDate as CI_CreateDate,
 B.AssignedTo,
 B.LastModifiedBy,
 B.ModifiedDate,
 B.Status as CI_Status,
 B.ShortDescription,
 B.CMDBRowLevelSecurity,
 B.InstanceId as CI_IncstanceId,
 B.CMDBWriteSecurity,
 B.SerialNumber,
 B.Category as [Product Categorization Tier 1],
 B.Type as [Product Categorization Tier 2],
 B.Item  as [Product Categorization Tier 3],
 B.Name as [CI Name],
 B.History,
 B.Description as CI_Description,
 B.Notes,
 B.Model as [Product Name],
 B.ManufacturerName,
 B.ManufacturerID,
 B.VersionNumber,
 B.Site as CI_Site,
 B.Room,
 B.Supported,
 B.UsersAffected,
 B.LastScanDate,
 B.OwnerContact,
 B.OwnerName,
 B.ImpactComputationModel,
 B.NameFormat,
 B.FailedAutomaticIdentification,
 B.Priority as CI_Priority,
 B.AccountID,
 B.ClassId,
 B.OpIdWeakReference,
 B.DatasetId,
 B.RelDataSetId1,
 B.RelDataSetId2,
 B.MarkAsDeleted,
 B.ReconciliationIdentity,
 B.RelReconciliationIdentity1,
 B.RelReconciliationIdentity2,
 B.RelLeadInstanceId,
 B.RelLeadClassId,
 B.LastREJobrunId,
 B.RelInstanceId1,
 B.RelClassId1,
 B.RelInstanceId2,
 B.RelClassId2,
 B.CDMachineID,
 B.TokenId,
 B.TokenFormat,
 B.Confidentiality,
 B.Availability,
 B.Integrity,
 B.AttributeDataSourceList,
 B.ReferenceInstance,
 B.zCMDBEngTimestampStub,
 B.DictionaryId,
 B.NormalizationStatus,
 B.CITag,
 B.ParentCITag,
 B.MFIntegrationID,
 B.ReconciliationMergeStatus,
 B.ADDMIntegrationId,
 B.MarketVersion,
 B.NEFeatureStatusMask,
 B.ReconciliationIdType,
 B.LastUpdatedDatasetId,
 B.ReconciliationIdChanged,
 B.ReconciliationIdentificationEr,
 B.SIX_TMP_Avail_Date,
 B.SIX_TMP_CostCenter,
 B.SIX_TMP_TagNumber,
 B.SIX_TMP_AccountingCode,
 B.SIX_TMP_Inst_Date,
 B.SIX_TMP_Received_Date,
 B.SIX_TMP_Purchase_Date,
 B.SIX_TMP_ServiceCode,
 B.Company as CI_Company,
 B.SIX_TMP_AssetID_CIID
from  HPD_HELP_DESK H
join  AST_CMDB_Associations A
on    H.Incident_Number = A.Request_ID01
join   BMC_CORE_BMC_BaseElement B
on     A.Request_ID02 =     B.ReconciliationIdentity
)
GO

1 个答案:

答案 0 :(得分:4)

使用row_number窗口函数时,我遇到过类似的问题。最有可能的是,你的订购并没有打破平局。如果Incident_Number中的重复项没有打破平局,则会导致行的排名不同:

PARTITION BY A.Incident_Number ORDER BY A.Incident_Number

尝试在ID之后添加一些Incident_Number的订单:

PARTITION BY A.Incident_Number ORDER BY A.Incident_Number, A.ID

可以改写为:

PARTITION BY A.Incident_Number ORDER BY A.ID