【发布时间】:2015-07-31 09:12:09
【问题描述】:
尝试从 Sybase 到 Microsoft SQL 执行 OPENQUERY 时遇到错误:
通过获取的结果集中不允许有重复的列名 开放查询和开放式集。列名“PatientID”重复。
我建立的查询基于相似的 admissionID 和 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.*, secondTable.*, etc。但是尽量只在你的选择语句中输出你需要的东西。 -
@Politank-Z 以什么方式重复了那个问题?
-
@srutzky 当我放那个时,我错过了他放 table2.* 而不仅仅是 * 因为我没有看到太多这种方法。您的任何一种方法都可以工作,我只是假设除了命名每个单独的列之外,可能还有一种内置方法。谢谢。
标签: sql sql-server sybase