当尝试从 Sybase 到 Microsoft SQL 执行 OPENQUERY 时,我遇到错误:
通过以下方式获得的结果集中不允许有重复的列名
OPENQUERY 和 OPENROWSET。列名“PatientID”重复。
我构建的查询根据相似的missionID 和病人ID 连接了2 个表。
例如:
PatID AdmID Loc PatID AdmID Doctor
1 5 NC 1 5 Smith
2 7 SC 2 7 Johnson
当然,真正的查询包含的信息远不止这些。
有没有一种好方法可以重命名或删除 AdmID 和 PatID 列之一?
我尝试过:
SELECT * INTO #tempTable
ALTER #tempTable
DROP COLUMN PatID
这不起作用,因为 PatID 不明确。
我也尝试过:
SELECT firstTable.PatID as 'pID', * FROM...
这也行不通。
您必须为两个重复列之一指定别名,并至少在其中一个表(您在其列上使用别名的表)的选择中显式指示特定列:
SELECT firstTable.PatID as 'pID', firstTable.column2, secondTable.* FROM...
请注意,我仍然在第二个表上使用了通配符。
然而....
我会避免使用*
完全使用通配符,并尝试始终准确指示您需要的列。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)