首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于一列删除重复行

基于一列删除重复行
EN

Stack Overflow用户
提问于 2016-02-15 08:43:01
回答 2查看 908关注 0票数 0

我有这样的前景:

Agenzia Codice Globmaster 012西北航空公司Globmaster 020德国汉莎航空公司023联邦快递Globmaster 024欧洲航空速递公司EAE Globmaster 988 ASIANA Globmaster 994 LINEAS AEREAS AZTECA Globmaster 995 B&H AIRLINES Globmaster 997 BIMAN Gabbiano 012西北航空公司Gabbiano 020 LUFTHANSA货运Gabbiano 023联邦快递Gabbiano 400巴勒斯坦航空公司Gabbiano 400巴勒斯坦航空公司加比亚诺407航空公司

我需要修改这个查询,这样它就不会在结果中提供重复的代码(Codice):

代码语言:javascript
复制
SELECT     'Gabbiano' AS Agenzia, Codice, Descrizione, FlBSP, MastroForn, CapocForn, ContoForn, SottocForn, CodIVANazAtt, CommNazAttiva, CommIntAttiva, 
                      FlCancellato, DataUltModifica, IDUtente, IDTerminale, CodAnagrafico, NoteDirPortAnd, NoteDirPortRit, ImpDirPortPax, ImpDirPortVei, GGScad, 
                      PathCondGen
FROM         dbo.TVTV0000
UNION
SELECT     'Istantravel' AS Agenzia, Codice, Descrizione, FlBSP, MastroForn, CapocForn, ContoForn, SottocForn, CodIVANazAtt, CommNazAttiva, CommIntAttiva, 
                      FlCancellato, DataUltModifica, IDUtente, IDTerminale, CodAnagrafico, NoteDirPortAnd, NoteDirPortRit, ImpDirPortPax, ImpDirPortVei, GGScad, 
                      PathCondGen
FROM         IstanTravel.dbo.TVTV0000 AS Statistiche_1
UNION
SELECT     TOP (100) PERCENT 'Globmaster' AS Agenzia, Codice, Descrizione, FlBSP, MastroForn, CapocForn, ContoForn, SottocForn, CodIVANazAtt, 
                      CommNazAttiva, CommIntAttiva, FlCancellato, DataUltModifica, IDUtente, IDTerminale, CodAnagrafico, NoteDirPortAnd, NoteDirPortRit, ImpDirPortPax, 
                      ImpDirPortVei, GGScad, PathCondGen
FROM         Globmaster.dbo.TVTV0000 AS Statistiche_2
ORDER BY Codice

我甚至不知道为什么我得到了那个愚蠢的顶部(100%)无论如何;

编辑:它应该返回如下内容:

Agenzia Codice Globmaster 012西北航空公司Globmaster 020德国汉莎航空公司023联邦快递Globmaster 024欧洲航空速递公司EAE Globmaster 988 ASIANA Globmaster 994 LINEAS AEREAS AZTECA Globmaster 995 B&H AIRLINES Globmaster 997 BIMAN Gabbiano 400巴勒斯坦航空公司Gabbiano 406航空公司Gabbiano 407航空公司塞内加尔航空公司

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-02-15 09:20:08

TOP 100 PERCENT用来将ORDER BY添加到视图源代码中(以避免最终的ORDER BY,这是愚蠢的)。

您必须定义一个优先级,应该首先列出Agenzia:

代码语言:javascript
复制
SELECT Agenzia, Codice, Descrizione, FlBSP, MastroForn, CapocForn, ContoForn,
       SottocForn, CodIVANazAtt, CommNazAttiva, CommIntAttiva, FlCancellato, DataUltModifica,
       IDUtente, IDTerminale, CodAnagrafico, NoteDirPortAnd, NoteDirPortRit, ImpDirPortPax,
       ImpDirPortVei, GGScad, PathCondGen
FROM
 ( SELECT *,
      ROW_NUMBER()
      OVER (PARTITION BY Codice
            ORDER BY priorty ) AS rn
   FROM
    (

      SELECT    1 AS priority, 'Gabbiano' AS Agenzia, Codice, Descrizione, FlBSP, MastroForn, CapocForn, ContoForn,
                SottocForn, CodIVANazAtt, CommNazAttiva, CommIntAttiva, FlCancellato, DataUltModifica,
                IDUtente, IDTerminale, CodAnagrafico, NoteDirPortAnd, NoteDirPortRit, ImpDirPortPax,
                ImpDirPortVei, GGScad, PathCondGen
      FROM dbo.TVTV0000
      UNION ALL -- probably more efficient than UNION
      SELECT    2 AS priority, 'Istantravel' AS Agenzia, Codice, Descrizione, FlBSP, MastroForn, CapocForn, ContoForn,
                SottocForn, CodIVANazAtt, CommNazAttiva, CommIntAttiva, FlCancellato, DataUltModifica,
                IDUtente, IDTerminale, CodAnagrafico, NoteDirPortAnd, NoteDirPortRit, ImpDirPortPax,
                ImpDirPortVei, GGScad, PathCondGen
      FROM IstanTravel.dbo.TVTV0000 AS Statistiche_1
      UNION ALL
      SELECT     3 AS priority, 'Globmaster' AS Agenzia, Codice, Descrizione, FlBSP, MastroForn, CapocForn, ContoForn,
                SottocForn, CodIVANazAtt, CommNazAttiva, CommIntAttiva, FlCancellato, DataUltModifica,
                IDUtente, IDTerminale, CodAnagrafico, NoteDirPortAnd, NoteDirPortRit, ImpDirPortPax,
                ImpDirPortVei, GGScad, PathCondGen
      FROM Globmaster.dbo.TVTV0000 AS Statistiche_2
    ) AS dt
 ) AS dt
WHERE rn = 1
票数 0
EN

Stack Overflow用户

发布于 2016-02-15 08:45:15

使用不同

代码语言:javascript
复制
   SELECT DISTINCT Codice FROM Globmaster.dbo.TVTV0000 AS Statistiche_2
ORDER BY Codice
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35404798

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档