Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
| Author |
Topic |
|
jason_moutia
Starting Member
3 Posts |
Posted - 2010-05-22 : 09:07:09
|
| I have the following tables:EXPERT TABLEExpertID E_name E_surname E_phone1 Geoff Millar 921411115 Sue Davies 921422228 Hillary Cork 9214444412 Penny Folds 92143333EVENT TABLETourID EventDate ExpertID GiftID Price MealB1 18/02/2010 1 G01 $85.00 NoB1 18/02/2010 1 G03 $85.00 NoB1 18/02/2010 1 G05 $85.00 NoB1 18/02/2010 1 G07 $85.00 NoR2 18/02/2010 12 G01 $125.00 NoR2 18/02/2010 12 G03 $125.00 NoR2 18/02/2010 12 G07 $125.00 NoR2 18/02/2010 12 G09 $125.00 NoR2 25/02/2010 1 G02 $170.00 YesR2 25/02/2010 1 G05 $170.00 YesR2 25/02/2010 1 G08 $170.00 YesS1 3/06/2010 5 G02 $130.00 NoS1 3/06/2010 5 G04 $130.00 NoS1 3/06/2010 5 G09 $130.00 NoW1 3/06/2010 5 G01 $105.00 NoW1 3/06/2010 5 G04 $105.00 NoW1 3/06/2010 5 G06 $105.00 NoBOOKING_CUST TABLECustID TourID EventDate PaidC078 R2 18/02/2010 YesC078 W1 3/06/2010 NoC123 B1 18/02/2010 YesC123 W1 3/06/2010 NoC178 B1 18/02/2010 YesC191 B1 18/02/2010 YesC191 R2 25/02/2010 YesC218 B1 18/02/2010 YesC218 R2 25/02/2010 YesC225 R2 18/02/2010 YesC267 R2 18/02/2010 YesC334 B1 18/02/2010 YesC367 B1 18/02/2010 YesC555 B1 18/02/2010 YesI need to list Tour Code, Event Date, Expert name and Total Payment made for each tour event.The list must be in Tour Code / Event Date sequence.The result should be:TourCode EventDate ExpertFirstName ExpertSurname TotalB1 18/02/2010 Geoff Millar 510R2 18/02/2010 Penny Folds 375R2 25/02/2010 Geoff Millar 340My statement is as follow:SELECT BOOKING_CUST.TourID, BOOKING_CUST.EventDate, EXPERT.E_name, EXPERT.E_surname, (count(BOOKING_CUST.TourID) * EVENT.price) AS [Total]FROM (BOOKING_CUST LEFT OUTER JOIN EVENT ON BOOKING_CUST.TourID = EVENT.TourID)LEFT OUTER JOIN EXPERTON EVENT.ExpertID = EXPERT.ExpertIDWHERE EVENT.EventDate = BOOKING_CUST.EventDateAND PAID = YESGROUP BY BOOKING_CUST.TourID, BOOKING_CUST.EventDate, EXPERT.E_name, EXPERT.E_surname, EVENT.price;AND I HAVE THE FOLLOWING RESULT:TourID EventDate E_name E_surname TotalB1 18/02/2010 Geoff Millar 2,380R2 18/02/2010 Penny Folds 1,500R2 25/02/2010 Geoff Millar 1,020My total is not correct. Can anyone help me please? |
|
|
Sachin.Nand
2937 Posts |
Posted - 2010-05-23 : 15:21:48
|
| SELECT BOOKING_CUST.TourID, BOOKING_CUST.EventDate, EXPERT.E_name, EXPERT.E_surname, (count(distinct BOOKING_CUST.TourID) * EVENT.price) AS [Total]FROM (BOOKING_CUST LEFT OUTER JOIN EVENT ON BOOKING_CUST.TourID = EVENT.TourID)LEFT OUTER JOIN EXPERTON EVENT.ExpertID = EXPERT.ExpertIDWHERE EVENT.EventDate = BOOKING_CUST.EventDateAND PAID = YESGROUP BY BOOKING_CUST.TourID, BOOKING_CUST.EventDate, EXPERT.E_name, EXPERT.E_surname, EVENT.price;PBUH |
 |
|
|
sodeep
Master Smack Fu Yak Hacker
7174 Posts |
Posted - 2010-05-23 : 15:53:02
|
| Database design doesn't seem right. Why there is no PK for Event and Booking_Cust table? Also Where is junction table for tours and Customers? |
 |
|
|
|
|
|
|
|