我要做的是将客人的逗留期限乘以他们的房价,添加发票(对于他们可能在度假村进行的任何购买)并添加餐费账单以给他们一个以客人名义逗留的费用。
我有以下查询:
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
当我运行该查询时,我收到以下错误消息:
“Msg 156,Level 15,State 1,Line 6 关键字“LEFT”附近的语法不正确。 Msg 156,Level 15,State 1,Line 8 关键字'as'附近的语法不正确。“
有什么想法吗?
以上查询使用以下表格:
来宾预订表包含以下包含数据的列:
预订表包含以下带有数据的列:
发票表包含以下带有数据的列:
价格计划表包含以下带有数据的列:
答案 0 :(得分:3)
语法错误是因为;
中的pp.price_plan;
。