Справка по запросу с TSQL (функции соединения) - PullRequest
0 голосов
/ 10 апреля 2011

То, что я пытаюсь сделать, это взять у гостей продолжительность пребывания и умножить ее на стоимость номера, добавить счет-фактуру (за любые покупки, которые они могли совершить на курорте) и добавить счет за обед, чтобы дать им общую сумму. Стоимость проживания по имени гостя.

У меня следующий запрос:

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 Неверный синтаксис рядом с ключевым словом «ВЛЕВО». Сообщение 156, уровень 15, состояние 1, строка 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

1 Ответ

3 голосов
/ 10 апреля 2011

Синтаксическая ошибка из-за ; в pp.price_plan;.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...