尝试从Sybase到Microsoft SQL进行OPENQUERY时,我遇到错误:
通过OPENQUERY和OPENROWSET获得的结果集中不允许重复的列名。列名称“ PatientID”是重复的。
我建立的查询基于相似的entryID和PatientID联接了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...
注意,我仍然在secondTable上使用通配符。
然而....
我会避免*完全使用通配符,并尝试始终始终准确指示您需要的列。
*