SQL查询结果在静态数据库上的每次运行都是不同的
我们有Microsoft SQL Server 10.50.6529。无论何时运行此查询,都会得到不同的结果:SQL查询结果在静态数据库上的每次运行都是不同的,sql,sql-server,Sql,Sql Server,我们有Microsoft SQL Server 10.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 FRO
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
这是视图\事件\ 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
我在使用
行数
窗口功能时也遇到过类似的问题。最有可能的是,你的订单没有打破平局。如果事件编号
中存在重复项,且未打破平局,则可能会导致对行进行不同的排序:
PARTITION BY A.Incident_Number ORDER BY A.Incident_Number
尝试在事件编号之后添加一些ID
:
PARTITION BY A.Incident_Number ORDER BY A.Incident_Number, A.ID
可以改写为:
PARTITION BY A.Incident_Number ORDER BY A.ID
我在使用
行数
窗口功能时也遇到过类似的问题。最有可能的是,你的订单没有打破平局。如果事件编号
中存在重复项,且未打破平局,则可能会导致对行进行不同的排序:
PARTITION BY A.Incident_Number ORDER BY A.Incident_Number
尝试在事件编号之后添加一些ID
:
PARTITION BY A.Incident_Number ORDER BY A.Incident_Number, A.ID
可以改写为:
PARTITION BY A.Incident_Number ORDER BY A.ID
视图定义中是否可能存在
GETDATE()
过滤器(VIEW\u INC\u CI
)?请向我们展示结果的不同之处-提供两个不同结果的示例。此外,我们还需要查看查看\u INC\u CI
的定义。更多行?少排?不同的值?也是计算。IncidentAssignmentHistory.Incident_Number
列唯一?按A.Incident_Number排序-看起来是问题所在。如果它不是唯一的,则预期会有不同的结果。您可能希望这样做:按A.Incident\u Number、A.primarykey排序在视图的定义中是否可能有一个GETDATE()
过滤器(VIEW\u INC\u CI
)?请向我们展示结果如何不同-提供两个不同结果的示例。此外,我们还需要查看查看\u INC\u CI
的定义。更多行?少排?不同的值?也是计算。IncidentAssignmentHistory.Incident_Number
列唯一?按A.Incident_Number排序-看起来是问题所在。如果它不是唯一的,则预期会有不同的结果。也许你会想这样做:按A.Incident\u Number,A.primarykey排序。或者,他可以使用densite\u RANK()
,但这可能不满足他的业务需求。或者,他可以使用densite\u RANK()
,但这可能不满足他的业务需求。