This is a bugger

I have an application which enables a user to search through till transaction via shifts

i.e.
Lunch = 12:00:00 - 18:29:59
Dinner = 18:30:00 - 08:30:00
All Shifts = 12:00:00 - 08:30:00

The report can be run on these shifts or All Shifts 12:00:00 - 08:30:00

The following is the SQL for the Lunch and Dinner Shift and the results

Code:
SELECT SUM(TrnPayAmount) AS TrnPayAmount, COUNT(PayDescription)AS CountPayDescription, PayDescription 
FROM  tblTransactionPayments 
INNER JOIN  tblPaymentMethods ON tblTransactionPayments.TrnPayPayMethod = tblPaymentMethods.PayNo 
INNER JOIN  tblTillTransactionHeader ON tblTillTransactionHeader.TTrnHdrTranNo = tblTransactionPayments.TrnPayBillNo 
WHERE (TTrnHdrTillNo=7 AND TrnPayVoid = 0 AND TTrnHdrSessionDate between '12-12-2001' AND '12-12-2001' AND CONVERT(Char(12),TTrnHdrTimeStamp,108)>= '12:00:00') OR 
(TTrnHdrTillNo=7 AND TrnPayVoid = 0 AND TTrnHdrSessionDate between '12-12-2001' AND '12-12-2001' AND CONVERT(Char(12),TTrnHdrTimeStamp,108)<= '18:29:59') 
GROUP BY PayDescription


SELECT SUM(TrnPayAmount) AS TrnPayAmount, COUNT(PayDescription)AS CountPayDescription, PayDescription 
FROM  tblTransactionPayments 
INNER JOIN  tblPaymentMethods ON tblTransactionPayments.TrnPayPayMethod = tblPaymentMethods.PayNo 
INNER JOIN  tblTillTransactionHeader ON tblTillTransactionHeader.TTrnHdrTranNo = tblTransactionPayments.TrnPayBillNo 
WHERE (TTrnHdrTillNo=7 AND TrnPayVoid = 0 AND TTrnHdrSessionDate between '12-12-2001' AND '12-12-2001' AND CONVERT(Char(12),TTrnHdrTimeStamp,108)>= '18:30:00') OR 
(TTrnHdrTillNo=7 AND TrnPayVoid = 0 AND TTrnHdrSessionDate between '12-12-2001' AND '12-12-2001' AND CONVERT(Char(12),TTrnHdrTimeStamp,108)<= '08:30:00') 
GROUP BY PayDescription


RESULTS...

TrnPayAmount          CountPayDescription PayDescription       
--------------------- ------------------- -------------------- 
3616.8500             19                  Complimentary 100%
117.2500              4                   Management
59.5000               1                   Visa

(3 row(s) affected)

TrnPayAmount          CountPayDescription PayDescription       
--------------------- ------------------- -------------------- 
3544.1000             18                  Complimentary 100%
75.7500               3                   Management
59.5000               1                   Visa
Now the first set of results (Lunch Shift) brings back the same results for the All Shift

The results for the Lunch should be as follows
Code:
TrnPayAmount          CountPayDescription PayDescription       
--------------------- ------------------- -------------------- 
72.7400               1                   Complimentary 100%
42.5000               1                   Management

Any Suggestions

Thanks