我想要做的是將客人的逗留時間乘以他們的房費,添加發票(對於他們在度假村進行的任何購物)並添加一張餐飲費用,通過客人的姓名給他們留下總費用。使用TSQL查詢幫助(加入函數)
我有以下查詢:
SELECT gr.g_name, (DATEDIFF(d, r.res_checkout_date, r.res_checkin_date) * pp.rate) + ISNULL(i.inv_amount, 0) + ISNULL(d.total_dining, 0)
FROM guest_reservation gr
LEFT OUTER JOIN invoice i ON gr.confirm_no = i.confirm_no
JOIN reservation r ON gr.confirm_no = r.confirm_no
JOIN price_plan pp ON r.price_plan = pp.price_plan;
LEFT OUTER JOIN (SELECT r_confirmation_no, SUM(price) as total_dining
FROM dining_order do JOIN dining_menu dm ON do.item = dm.item
GROUP BY r_confirmation_no, price) as d ON d.r_confirmation_no = r.confirm_no
然而,當我運行該查詢,我得到了以下錯誤消息:
「消息156,15級,狀態1,第6行 附近有語法錯誤關鍵字'LEFT' Msg 156,Level 15,State 1,Line 8 關鍵字'as'附近的語法不正確。
任何想法?
上面的查詢系統使用以下表格:
客預約表具有數據以下列:
- confirm_no
- AGENT_ID
- g_name
- g_phone
預留表中有數據以下的列:
- confirm_no
- credit_card_no
- res_checkin_date
- res_checkout_date
- default_villa_type
- price_plan
發票表有以下幾列與數據:
- inv_no
- inv_date
- inv_amount
- confirm_no
價格計劃表中有數據以下的列:
- price_plan
- 率
- default_villa_type
- bed_type
請發佈您迄今爲止編寫的代碼。你毫無疑問知道,人們通常不喜歡只爲你寫代碼。事實上,這是一個工作描述,而不是一個問題。 – 2011-04-10 01:19:26