我有两个表要执行内连接。两个表共享一个字段,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 :(得分: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
其中t1
和t2
被称为ALIAS
。
答案 1 :(得分:0)
内部查询应该像表一样,但是您的别名与原始表一样。所以它是从原始表中比较条件id并给出正确的计数。其次,您没有在内部查询中提到我的列,并且您没有在主选择查询中选择table2的列。