我想要做的是将客人的逗留时间乘以他们的房费,添加发票(对于他们在度假村进行的任何购物)并添加一张餐饮费用,通过客人的姓名给他们留下总费用。使用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