2014-09-26 60 views
0

我有两个表,我想执行一个内部联接。这两个表共享一个字段,ID,所以我想在其上执行连接。我想得到的结果是一个表格,显示了姓名,学校和专业(来自表1)以及来自(来自表2)的地址,电子邮件和电话。 表1: 姓名,学校,专业,身份证,教师资格证在内部联接中选择语句,不显示选择字段

表2: 地址,电话,身份证,电子邮件

这里是我的查询:

SELECT DISTINCT 
     Name, 
     school, 
     Major 
    FROM Table1 
INNER 
    JOIN(SELECT Address, 
       Phone, 
       Email 
     FROM Table 2) Table2 
    ON Table1.ID = Table2.ID 
WHERE ..... 

的问题是,当我运行查询,它会提取正确数量的结果,但不会显示我想从表2中提取的地址,电子邮件和电话字段。我是否误解了有关连接的内容?

任何帮助将不胜感激,谢谢。

回答

0

您还需要指定外部SELECT子句中其他表的列。这里有一个simplier版本没有任何的子查询:

SELECT DISTINCT 
     t1.Name, 
     t1.School, 
     t1.Major, 
     t2.Address, 
     t2.Phone, 
     t2.Email 
FROM Table1 AS t1 
     INNER JOIN Table2 AS t2 
      ON t1.ID = t2.ID 

其中t1t2被称为ALIAS

0

内部查询应该像表格一样工作,但是您的别名与原始表格相同。所以它会比较原始表中的条件ID并给出正确的计数。其次你没有提到我会在内部查询中列,并且你没有选择主要select查询中table2的列。