我需要一个连接,从两个不同的表中生成三个具有相同名称的字段。当我尝试运行 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
如果从代码中看不出来,这些就是表格。
- 国家/地区:ID、姓名、President_Id、VicePresident_Id。
- 政治人物:身份证、姓名。
- 连接表:国家、总统、副总统
(请注意,我的应用程序中的表和字段具有不同的名称。我对它们进行概括以使此示例更清晰希望与其他人更相关。)
(我使用的工具是 Visual Web Developer 2010 Express 和 SQL Server 2008 Express。)
对每个引用使用表别名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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)