2016-09-18 60 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

@ user6843920。 。 。你可以使用'LEFT JOIN'而不是'JOIN'。这就是为什么你总是使用明确的'JOIN'语法的原因之一。 –