当我在这个表上运行一个简单的SELECT语句时,我得到一个行(这是正确的应该只有一个)。下面是SELECT语句:SQL存储过程不返回任何数据
select * from Lending.HMDA where BatchId = 1
这里是我执行PROC,这不返回行:
DECLARE @BatchStartDate datetime, @BatchEndDate datetime
SELECT @BatchStartDate = StartDate, @BatchEndDate = EndDate FROM Lending.HMDAReportBatch WHERE BatchId = 1
-- HMDA And App Data
SELECT
A.ApplicationId,
A.CreatedDate,
LU14.LookupCode AS LoanTypeId,
LU1.LookupCode AS PropertyTypeId,
LU2.LookupCode AS LoanPurposeId,
LU3.LookupCode AS OwnerOccupancyId,
L.FinalLoanAmount,
LU4.LookupCode AS PreApprovalId,
LU5.LookupCode AS ActionId,
A.ActionDate,
H.MSA,
LU6.MiscCode1 AS StateId,
LU7.LookupCode AS CountyId,
H.CensusTract,
LU8.LookupCode AS ApplicantEthnicityId,
LU9.LookupCode AS JointEthnicityId,
H.IsApplicantRaceAmericanIndian,
H.IsApplicantRaceAsian,
H.IsApplicantRaceBlack,
H.IsApplicantRaceIslander,
H.IsApplicantRaceNA,
H.IsApplicantRaceNotProvided,
H.IsApplicantRaceWhite,
H.IsJointRaceAmericanIndian,
H.IsJointRaceAsian,
H.IsJointRaceBlack,
H.IsJointRaceIslander,
H.IsJointRaceNA,
H.IsJointRaceNotProvided,
H.IsJointRaceWhite,
LU10.LookupCode AS ApplicantGenderId,
LU11.LookupCode AS JointGenderId,
LU12.LookupCode AS LoanPurchaserId,
H.IsDenialReasonCash,
H.IsDenialReasonCollateral,
H.IsDenialReasonCreditHistory,
H.IsDenialReasonDTI,
H.IsDenialReasonEmploymentHistory,
H.IsDenialReasonIncomplete,
H.IsDenialReasonInverifiableInfo,
H.IsDenialReasonMortgageInsuranceDenied,
H.IsDenialReasonOther,
H.RateSpread,
H.IsHOEPA,
LU13.LookupCode AS LienStatusId
[email protected] AS BatchStartDate,
[email protected] AS BatchEndDate
FROM Lending.HMDA H
INNER JOIN Lending.Application A ON H.ApplicationId = A.ApplicationId
INNER JOIN Lending.Loan L ON H.ApplicationId = L.ApplicationId
INNER JOIN tblLookup AS LU1 ON H.PropertyTypeId = LU1.LookupID
INNER JOIN tblLookup AS LU2 ON H.LoanPurposeId = LU2.LookupID
INNER JOIN tblLookup AS LU3 ON H.OwnerOccupancyId = LU3.LookupID
INNER JOIN tblLookup AS LU4 ON H.PreApprovalId = LU4.LookupID
INNER JOIN tblLookup AS LU5 ON H.ActionId = LU5.LookupID
INNER JOIN tblLookup AS LU6 ON H.StateId = LU6.LookupID
INNER JOIN tblLookup AS LU7 ON H.CountyId = LU7.LookupID
INNER JOIN tblLookup AS LU8 ON H.ApplicantEthnicityId = LU8.LookupID
INNER JOIN tblLookup AS LU9 ON H.JointEthnicityId = LU9.LookupID
INNER JOIN tblLookup AS LU10 ON H.ApplicantGenderId = LU10.LookupID
INNER JOIN tblLookup AS LU11 ON H.JointGenderId = LU11.LookupID
INNER JOIN tblLookup AS LU12 ON H.LoanPurchaserId = LU12.LookupID
INNER JOIN tblLookup AS LU13 ON H.LienStatusId = LU13.LookupID
INNER JOIN tblLookup AS LU14 ON H.LoanTypeId = LU14.LookupID
WHERE H.BatchId = 1 AND H.IsExcluded <> 'True'
为什么PROC不返回任何数据?这可能会发生什么情况?
如果你正在寻找最终答案或可能的解决方案(尽管Andomar和Phillip的答案都很好),你应该发布测试数据。 – Unreason 2010-08-02 13:40:13
我必须说,对各种数据类型使用单个查找表的数据建模会引起各种各样的痛苦(参照完整性,结构刚性,固定类型和宽度等)。你应该把它分解到单个表中。至少你应该为'PropertyType','LoanPurpose','State','County'等创建视图。 – 2010-08-02 13:42:45