SELECT FirstName
FROM Adjuncts
INNER JOIN Faculty ON Adjuncts.FirstName = Faculty.FirstName
这是我的Microsoft SQL Server 2012代码。我正在尝试将两个表连接在一起(Adjuncts
和Faculty
)并分享他们的FirstName
和LastName
列。我试着做一个(FirstName
),看看我是否可以使它工作,但不能。我收到以下错误消息:
Msg 209,Level 16,State 1,Line 1
不明确的列名'FirstName'
有人能告诉我如何正确地将两张桌子连在一起吗?以及如何仅显示'FirstName'和& 'LastName'列在每个表 WITHOUT 中定义,与'FirstName'和& 'LastName'列并让它们两次。
答案 0 :(得分:3)
两个表中都有FirstName
- 正如ON
子句清楚显示的那样。
我建议您使用表别名作为限定列名:
SELECT a.FirstName
FROM Adjuncts a INNER JOIN
Faculty f
ON a.FirstName = f.FirstName;
答案 1 :(得分:2)
您的查询中的两个表格(Adjuncts
和Faculty
)都有FirstName
列,因此您必须完全符合条件。 E.g:
SELECT Adjuncts.FirstName
-- Here ---^
FROM Adjuncts
INNER JOIN Faculty ON Adjuncts.FirstName = Faculty.FirstName
答案 2 :(得分:0)
尝试使用以下查询,这可能会匹配,因此会显示数据。如果您未在ON
的{{1}}子句中使用关键列,那么很难匹配
JOIN
另外,如果您不想为firstname设置两个不同的列,请不要在SELECT a.firstname
FROM adjuncts a
JOIN faculty f
ON UPPER(a.firstname) = UPPER(f.firstname)
子句中添加f.firstname。