我有这样的前景:
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):
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航空公司塞内加尔航空公司
发布于 2016-02-15 09:20:08
TOP 100 PERCENT用来将ORDER BY添加到视图源代码中(以避免最终的ORDER BY,这是愚蠢的)。
您必须定义一个优先级,应该首先列出Agenzia:
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发布于 2016-02-15 08:45:15
使用不同
SELECT DISTINCT Codice FROM Globmaster.dbo.TVTV0000 AS Statistiche_2
ORDER BY Codicehttps://stackoverflow.com/questions/35404798
复制相似问题