2014-01-29 3 views
0

Я использовал этот синтаксис для создания представления из таблицы:Создать представление, используя множество таблиц?

CREATE VIEW view_name AS 
    SELECT column_name(s) FROM table_name WHERE condition 

я создать вид из многих таблицы полагались. Для примера у меня есть две таблицы:

  • лицо: ID, first_name, last_name, Возраст, CITY_ID
  • Город: идентификатор, city_name, zip_code

Стараюсь этот запрос, чтобы создать представление (first_name , last_name, city_name), но он не работает:

CREATE VIEW view AS 
    SELECT 
     first_name, 
     last_name, 
     (SELECT city_name FROM City where City_id=id) 
    FROM Person. 

В чем проблема?

+1

какая ошибка вы получаете? – Melon

+0

Измените имя представления. Вы используете 'вид', и это зарезервированное слово – carexcer

ответ

0

Вы должны использовать присоединиться:

CREATE VIEW person_city AS 
    select 
     first_name, 
     last_name, 
     city_name 
    from Person p 
    join City c 
    on p.city_id = c.city_id 

Обратите внимание, что я переименовал представление в моем примере SQL. Использование зарезервированных слов, таких как view для имен объектов db, обычно не рекомендуется, однако, если его нужно назвать view, вы всегда можете использовать обратные ссылки.

+0

Спасибо за вашу помощь CREATE VIEW person_city AS выберите first_name, last_name, c.city_name от Person р присоединиться Город гр на p.city_id = c.id – user2944302

+0

@ user2944302 Рад, что я мог бы помочь! Пожалуйста, дайте мне знать, если у вас есть дополнительные вопросы. Если один из этих ответов решил вашу проблему, пожалуйста, примите ответ, нажав галочку рядом с ответом. –

0
CREATE VIEW person_view AS 
    SELECT 
     first_name, last_name 
    FROM 
     Person 
      JOIN 
     City ON City.id = Person.City_id 
Смежные вопросы