当尝试从 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/

10-11 01:55