왜 내가이 쿼리로 결과를 얻지 못하고 있는지 알아내는 데 도움이 필요합니다.SQL Server 쿼리가 올바른 데이터를 반환하지 않는 이유는 무엇입니까?
내 상사가 이미 데이터를 가져 와서 알고 있습니다. 그러나 어떤 이유로 난 아무것도 못하고 있어요 :
SELECT SessionSID as 'ResponseID'
, TargetID
, TargetName
, SurveyNumber
, ABCSurveyName
, SurveyID as 'RedirectedSurveyID'
, SupplierID
, SupplierName
, RespondentID
, PID
, IPAddress
, IsLive
, EntryDate
, LastDate
, LK_ResponseStatusID as 'Response Status Code'
, ClientLK_ResponseStatusID as 'Client Response Status Code'
, LK_SupplierLinkTypeName
, ProjectID
, ParentSID
, TargetCPI
, SupplierCPI
, DefaultCPI
FROM BI_Sessions (nolock)
WHERE EntryDate BETWEEN '06-07-2012' AND '06-08-2012'
AND ABCSurveyName like 'EBAY4263-718184%'
AND SupplierID = 42
업데이트 된 데이터가 여기에있다 (나는 그것이 오래 미안 해요 알고) :
ResponseID TargetID TargetName SurveyNumber ABCSurveyName RedirectedSurveyID SupplierID SupplierName RespondentID PID IPAddress IsLive EntryDate LastDate Response Status Code Client Response Status Code LK_SupplierLinkTypeName ProjectID ParentSID TargetCPI SupplierCPI DefaultCPI
6dd94974-9e1b-44ce-8a3e-e1680f921a2e -1 NULL 13958 Tracking NO_Kund_Cint4005 12963 42 EBAY 31962330 08a945eb-d780-4baa-892a-d4132e59afb5 80.213.119.232 1 2012-06-07 00:01:51.420 2012-06-07 00:02:05.327 3 1 Targeted/Reuse Supplier-Account Only 4637 c847ad2f-9a9f-4a81-8da3-a74d49f8143e 3 10 10
c2d53463-f81b-4156-87a7-e70203a4fc0e -1 NULL 12200 Tracking NO_Kund_Cint4002 11205 42 EBAY 2513971 0e9d0e01-9009-40a8-a42e-65e1e6d4b1f8 85.167.23.63 1 2012-06-07 00:03:38.220 2012-06-07 00:03:55.143 3 38 Targeted/Reuse Supplier-Account Only 3857 4f74bbaf-0bb3-4430-9529-72c5dff36d3a 3 10 10
편집 : 어떻게 속도로 인덱스를 사용합니까 검색어?
UPDATE : 더 :
SessionID int no 4 10 0 no (n/a) (n/a) NULL
SessionSID nvarchar no 128 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
AccountID int no 4 10 0 yes (n/a) (n/a) NULL
RespondentID int no 4 10 0 yes (n/a) (n/a) NULL
SurveyID int no 4 10 0 yes (n/a) (n/a) NULL
SurveyNumber int no 4 10 0 yes (n/a) (n/a) NULL
ABCSurveyName nvarchar no 256 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
SupplierID int no 4 10 0 yes (n/a) (n/a) NULL
SupplierName nvarchar no 128 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
TargetID int no 4 10 0 yes (n/a) (n/a) NULL
TargetCPI float no 8 53 NULL yes (n/a) (n/a) NULL
ClientCPI float no 8 53 NULL yes (n/a) (n/a) NULL
QuotaCPI float no 8 53 NULL yes (n/a) (n/a) NULL
SupplierCPI float no 8 53 NULL yes (n/a) (n/a) NULL
DefaultCPI float no 8 53 NULL yes (n/a) (n/a) NULL
EntryDate datetime no 8 yes (n/a) (n/a) NULL
LastDate datetime no 8 yes (n/a) (n/a) NULL
LK_RespondentPathID int no 4 10 0 yes (n/a) (n/a) NULL
LK_ResponseStatusID int no 4 10 0 yes (n/a) (n/a) NULL
IsLive bit no 1 yes (n/a) (n/a) NULL
PID nvarchar no 256 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
IPAddress nvarchar no 32 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
ClientLK_ResponseStatusID int no 4 10 0 yes (n/a) (n/a) NULL
ParentSID nvarchar no 128 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
SurveyQualificationID int no 4 10 0 yes (n/a) (n/a) NULL
TargetName nvarchar no 128 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
SupplierLinkID int no 4 10 0 yes (n/a) (n/a) NULL
LK_SupplierLinkTypeID int no 4 10 0 yes (n/a) (n/a) NULL
LK_SupplierLinkTypeName nvarchar no 128 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
EntryType int no 4 10 0 yes (n/a) (n/a) NULL
ExitType int no 4 10 0 yes (n/a) (n/a) NULL
ProjectID int no 4 10 0 yes (n/a) (n/a) NULL
ProjectName nvarchar no 128 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
CreateUserID int no 4 10 0 yes (n/a) (n/a) NULL
CreateDate datetime no 8 yes (n/a) (n/a) NULL
UpdateUserID int no 4 10 0 yes (n/a) (n/a) NULL
UpdateDate datetime no 8 yes (n/a) (n/a) NULL
LK_RecordStatusID bit no 1 yes (n/a) (n/a) NULL
LK_CountryLanguageID int no 4 10 0 yes (n/a) (n/a) NULL
LK_CountryLanguageName nvarchar no 128 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
SurveyAccountName nvarchar no 128 yes (n/a) (n/a) SQL_Latin1_General_CP1_CI_AS
SurveyAccountID int no 4 10 0 yes (n/a) (n/a) NULL
편집 : 나는 내 상사의 도움을 필요로하고, 지금은 모두가 알아 냈입니다. ID를 추출 할 수있는 또 다른 유용한 테이블이 있었기 때문에 색인을 사용하면 많은 도움이되었습니다. 당신은 문제가 정확히이 where 절없이 결과를 얻을 수 있다고 가정
select * from Surveys (nolock) where ABCSurveyName = '718184 Multicultural Shop '
몇 가지 샘플 데이터를 게시 할 수 있습니까? 오류가 있습니까? 이 쿼리에서 당신은 무엇을 기대하고 있습니까? – Taryn
'06 -07-2011 00:00:01 '과 '06 -07-2011 10:00:01'사이에 EntryDate가있는 BI_sessions의 레코드가 하나 이상 있습니까 (2011 년 참고). 'EBAY4263-718184 %'와 같은 ABCSurveyName이 있고 SupplierID는 42입니다. * 예상 * 할 레코드 중 하나를 인쇄하여 확인하십시오. 무엇이 잘못되었는지 알아 내기 위해 SSMS GUI에서이 쿼리의 다른 변형을 잘라내거나 붙여 넣는 데 2 분 이상 걸리지 않아야합니다. – paulsm4
왜 'nolock'을 사용하고 있습니까? 왜 비표준 datetime 형식을 사용하고 있습니까? 대신''yyyymmdd hh : mm : ss ''를 시도 했습니까? –