当前位置: 首页 > 面试题库 >

如何删除/重命名SQL中的重复列(不重复行)

穆乐逸
2023-03-14
问题内容

尝试从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上使用通配符。

然而....

我会避免*完全使用通配符,并尝试始终始终准确指示您需要的列。



 类似资料:
  • 我有下表(TBL_视频),在“TIMESTAMP”中有重复的列条目,我只想在“CAMERA”编号匹配时删除它们。 之前: 之后: 我已尝试此语句,但列不会相应删除。我非常感谢为生成正确的SQL语句所提供的所有帮助。提前谢谢!

  • 问题内容: 我可以使用此查询找出重复的数据 我能够获取重复数据。我只需要知道如何使用名称将重复数据重命名为 new 问题答案: 假设您在表上有某种主键,例如自动增量ID,则可以执行以下操作。 为了说明,它将查找重复的任何内容,为该集中的所有内容获取最大ID,并在其末尾附加“副本1”。如果您有3次或多次使用某些名称,则可能仍会留下一些重复项。只需再次运行它,这次使用“副本2”而不是“副本1”。继续重

  • 请注意,在转向您之前,我已经浏览了各种帖子。事实上,我尝试实现中提供的解决方案:基于“notin”条件从数据帧中删除行 我的问题如下。让我们假设我有一个巨大的数据帧,我想删除重复的数据帧。我很清楚我可以使用drop_duplicates,因为这是最快的最简单的方法。然而,我们的老师希望我们创建一个包含重复项ID的列表,然后根据这些值是否包含在上述列表中删除它们。 现在,让我们看看输出: 因此,我得

  • 问题内容: 如何从以以下方式设置的表中删除重复项? 一个工作人员可以有多个与他们相关联的type_ID,我想删除所有重复的类型。如果有重复项,我想删除具有最新条目的类型。 问题答案: 窗口函数row_number()的教科书候选: 这也照顾了一组相同的受骗者的情况。 请参阅有关data.SE的简化演示。 更新较简单的版本 事实证明,这可以简化:在SQL Server中,您可以直接从CTE中删除:

  • 我构建了一个使用BingAPI下载数据集的代码。当我在终端上运行它时,它返回以下错误: 所以我升级了Numpy,但没有用 那么我该怎么做呢?

  • 我有一个以电话号码为列名的SQL Server表。现在我只想选择唯一的电话号码。 图中显示了id、公司名称、公司id、电话号码。我只想找到重复的电话号码,而不是重复的行。如果单元格值重复,则删除该行。我该怎么做? 这里显示的示例表: