Log*_*acy 26 sql database sql-server
我需要一个连接,从两个不同的表中生成三个具有相同名称的字段.当我尝试运行我的SQL查询时,VS给了我以下错误.
FROM子句中的对象"PoliticalFigures"和"PoliticalFigures"具有相同的公开名称.使用相关名称来区分它们.
我一直试图用"AS"来区分这些领域,但我还没有找到一个有效的解决方案.这是我正在运行的SQL查询:
SELECT Countries.Name AS Country, PoliticalFigures.Name AS President, PoliticalFigures.Name AS VicePresident FROM Countries
LEFT OUTER JOIN PoliticalFigures ON Countries.President_Id = PoliticalFigures.Id
LEFT OUTER JOIN PoliticalFigures ON Countries.VicePresident_Id = PoliticalFigures.Id
Run Code Online (Sandbox Code Playgroud)
如果从代码中看不出来,这些就是表格.
(注意,我的应用程序中的表和字段有不同的名称.我正在概括它们以使这个例子更清晰,并希望与其他人更相关.)
(我使用的工具是Visual Web Developer 2010 Express和SQL Server 2008 Express.)
Mic*_*ski 36
PoliticalFigures
而是为每个引用使用表别名:
SELECT
Countries.Name AS Country,
P.Name AS President,
VP.Name AS VicePresident
FROM
Countries
LEFT OUTER JOIN PoliticalFigures AS P ON Countries.President_Id = P.Id
LEFT OUTER JOIN PoliticalFigures AS VP ON Countries.VicePresident_Id = VP.Id
Run Code Online (Sandbox Code Playgroud)
Boh*_*ian 19
为表的每个引用添加一个别名:
SELECT
Countries.Name AS Country,
P.Name AS President,
VP.Name AS VicePresident
FROM Countries
LEFT JOIN PoliticalFigures P ON Countries.President_Id = P.Id
LEFT JOIN PoliticalFigures VP ON Countries.VicePresident_Id = VP.Id
Run Code Online (Sandbox Code Playgroud)