在内连接中选择语句,而不显示选择字段

时间:2014-09-26 05:06:04

标签: sql oracle select join

我有两个表要执行内连接。两个表共享一个字段,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中提取的地址,电子邮件和电话字段。我是否误解了有关连接的内容?

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

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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