SQL - неправильный синтаксис рядом с ключевым словом - PullRequest
0 голосов
/ 05 ноября 2011

Небольшая проблема с моим запросом здесь:

CREATE VIEW rental_view
AS 
   SELECT 
       m.movie_id, movie_name, co.copy_id, 
       f.format_id, format_name, cu.customer_id, 
       (first_name + ' ' + surname) AS customer_name, 
       rental_id, rental_date, return_date, 
       ISNULL(return_date, CAST(DATEDIFF(dd, rental_date, GETDATE() ) AS rental_duration 
   FROM 
         movie AS m 
   INNER JOIN copy AS co ON m.movie_id = co.movie_id
   INNER JOIN format AS f ON co.format_id = f.format_id
   INNER JOIN rental ON co.copy_id = rental.copy_id
   INNER JOIN customer AS cu ON rental.customer_id = cu.customer_id

Результаты с ошибкой:

Сообщение 156, Уровень 15, Состояние 1,
Процедура rental_view, строка 3 Неверный синтаксис рядом с ключевым словом 'FROM'.

У меня была долгая попытка, и я не могу ее решить.

Ценю помощь.

Ответы [ 2 ]

5 голосов
/ 05 ноября 2011

Вам не хватает двух скобок в этой строке:

AS SELECT 
    m.movie_id, movie_name, co.copy_id, f.format_id, format_name, 
    cu.customer_id, (first_name + ' ' + surname) AS customer_name, 
    rental_id, rental_date, return_date, 
    ISNULL(
        return_date, 
        CAST(DATEDIFF(dd, rental_date, GETDATE()))) AS rental_duration 

В любом случае ваш синтаксис неверен в других частях:

  • CAST хочет, чтобы поле было преобразовано, ключевое слово AS и новый тип (см. документы )
  • DATEDIFF хочет два параметра (см. документы ) <- это если вы используете MySql; с MS-SQL правильно </li>
0 голосов
/ 05 ноября 2011

попробуйте это:

  CREATE VIEW rental_view
  AS SELECT m.movie_id, 
movie_name, 
co.copy_id, 
f.format_id, 
format_name, 
cu.customer_id, 
(first_name + ' ' + surname) AS customer_name, 
rental_id, 
rental_date, 
return_date,
ISNULL(return_date,
CAST(DATEDIFF(dd, rental_date, GETDATE()) AS *type desired here*)) AS name of column
  FROM movie as m 
  INNER JOIN copy AS co
  ON m.movie_id = co.movie_id
  INNER JOIN format AS f
  ON co.format_id = f.format_id
  INNER JOIN rental 
  ON co.copy_id = rental.copy_id
  INNER JOIN customer AS cu
  ON rental.customer_id = cu.customer_id
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...