【发布时间】:2018-03-09 20:49:42
【问题描述】:
我在这里有这个选择:
SELECT * FROM (
SELECT DISTINCT cod_arq,
(SELECT description FROM [serverTwo].[perg].dbo.marc_section WHERE paragraph = 10 AND cod_arq = AC.cod_arq) AS author,
(SELECT description FROM [serverTwo].[perg].dbo.marc_section WHERE paragraph = 24 AND cod_arq = AC.cod_arq) AS title,
(SELECT description FROM [serverTwo].[perg].dbo.marc_section WHERE paragraph = 25 AND cod_arq = AC.cod_arq) AS edt
FROM [serverTwo].[pergamarc].dbo.marc_section AC
) AS ACN
WHERE ACN.author IS NOT NULL
AND ACN.title IS NOT NULL
我测试了一些从 serverOne 到 serverTwo 的 sql,没关系,我可以从一台服务器调用它们到另一台服务器。 但是,如果我在“serverTwo”上运行它,上面的这个 sql 就可以正常工作(意味着 sintaxe 是正确的),但如果我从 serverOne 运行它就不行。但是,如果我删除 DISTINCT 关键字,它就可以工作(显示重复的行,但可以)。
这个 DISTINCT 会发生什么?也许是一些 COLLATE 冲突?
【问题讨论】:
标签: sql sql-server tsql distinct