2012-01-13 36 views
0

私は現在以下のスクリプトでこのビューを持っています。問題は65から始まるレシート番号を見つけることができないが、20を持つレシート番号を見ることができることである。問題は何か。ビュー内にレコードがありません

SELECT  dbo.Bio_Data.Salutation, dbo.Bio_Data.FirstName, dbo.Bio_Data.MiddleInitial, dbo.Bio_Data.LastName, dbo.Bio_Data.birthPlace, CONVERT(varchar(10), 
         dbo.Bio_Data.BirthDate, 103) AS DOB, dbo.Bio_Data.Occupation, dbo.Bio_Data.Nationality, dbo.Bio_Data.Address, dbo.Bio_Data.PermanentAddress, 
         dbo.Bio_Data.photo, dbo.Bio_Data.gender, dbo.[Document].ValidityFrom, CONVERT(varchar(10), dbo.[Document].ExpirationDate, 103) AS ExpDate, dbo.Bio_Data.NIN, 
         dbo.Bio_Data.fingerprintImage, dbo.Bio_Data.NextOfKin, dbo.Bio_Data.NationalityAtBirth, dbo.Bio_Data.MaritalStatus, dbo.Bio_Data.receiptNo, 
         dbo.Bio_Data.NextOfKinAddress, dbo.[Document].DocumentTypeID, dbo.Bio_Data.SigIDNumber, dbo.Bio_Data.BloodType, dbo.[Document].DataEntryCompleted, 
         dbo.[Document].CardPrinted, dbo.[Document].CardNumber, dbo.[Document].CPVerified, dbo.[Document].CPVerifiedBy, dbo.[Document].DEVerified, 
         dbo.[Document].DatePrinted, dbo.[Document].DateModified 
FROM   dbo.Bio_Data INNER JOIN 
         dbo.[Document] ON dbo.Bio_Data.NIN = dbo.[Document].DocumentHolderNIN AND dbo.Bio_Data.receiptNo = dbo.[Document].ReceiptNo 
WHERE  (dbo.Bio_Data.ApprovalStatus = 'Approved') AND (dbo.Bio_Data.photo IS NOT NULL) AND (dbo.Bio_Data.fingerprintImage IS NOT NULL) AND 
         (dbo.[Document].CardPrinted IS NULL) AND (dbo.[Document].ReceiptNo LIKE '20%' OR 
         dbo.[Document].ReceiptNo LIKE '65' OR 
         dbo.[Document].ReceiptNo LIKE '51%' OR 
         dbo.[Document].ReceiptNo LIKE '45%') 

答えて

3
dbo.[Document].ReceiptNo LIKE '65' 

それは65後に何も一致しません%ワイルドカードなしで

dbo.[Document].ReceiptNo LIKE '65%' 

であるべき。だから、65であるレコードを見つけますが、ただで始まるものは65で始まるレコードではありません。

関連する問題