当尝试从 Sybase 到 Microsoft SQL 执行 OPENQUERY 时,我遇到了一个错误:
我构建的查询基于相似的准入 ID 和患者 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...
请注意,我仍然在 secondTable 上使用了通配符。
然而....
我会避免完全使用
*
通配符,并尝试始终准确指出您需要的列。关于sql - 如何删除/重命名 SQL 中的重复列(非重复行),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30327357/