2016-09-18 3 views
0

Напишите SQL-запрос для создания вида FAMILY, содержащий TENANT_SS, TENANT_NAME, фамилии членов семьи (NAME). Для тех арендаторов, которые не имеют членов семьи, перечисленных в TENANT_FAMILY, отобразите null. Могу ли я узнать, в чем проблемы?Создать запрос на просмотр

CREATE VIEW FAMILY_VIEW 
AS(SELECT T. TENANT_SS, T. TENANT_NAME, TF.NAME 
FROM TENANT T, TENANT_FAMILY TF 
WHERE T. TENANT_SS = TF.TENANT_SS;) 

screenshot

+0

Там не должен быть пробелов после «точки» разделителя между именами таблиц/псевдонимами и именами столбцов (.). Например, 'T. TENANT_SS' не будет работать, это должно быть 'T.TENANT_SS'. – mathguy

ответ

0

У вас есть ненужные скобки. Кроме того, у вас есть запятая в предложении FROM. Всегда использование явные JOIN Синтаксиса:

CREATE VIEW FAMILY_VIEW AS 
    SELECT T.TENANT_SS, T.TENANT_NAME, TF.NAME 
    FROM TENANT T JOIN 
     TENANT_FAMILY TF 
     ON T.TENANT_SS = TF.TENANT_SS; 
+0

Еще раз спасибо. – user6843920

+0

Однако этот запрос показывает арендатора, у которого есть семья. Как заставить их показать арендатора, у которого нет семьи? – user6843920

+0

@ пользователь6843920. , , Вы должны использовать 'LEFT JOIN' вместо' JOIN'. Это одна из причин, по которой вы хотите всегда использовать явный синтаксис JOIN. –