2015-04-14 65 views
0

我正在嘗試將3個不同的管道分隔表合併爲一個,以便我可以導出爲一個文本文件。每個管道分隔表具有不同的結構。這是我到目前爲止。當我運行聯合查詢時,它通過查詢2,查詢1,查詢3對它進行排序;我相信這是因爲每個查詢的輸出都是按ABC順序進行最終排序的。有什麼方法可以按查詢的順序排序嗎?微軟訪問聯合查詢順序選擇語句

SELECT qry_Header.HDR 
from qry_Header 

union 

select qry_GHD_Headers.GHD_Header 
from qry_GHD_Headers inner join [Coverage ID] ON qry_GHD_Headers.  
[Coverage ID] = [Coverage ID].[Coverage ID] 
where [Coverage ID].ID = 1 

union 


select 
[qry_Pipe_Delim].Pipe_Delim 
FROM qry_Pipe_Delim INNER JOIN [Coverage ID] ON qry_Pipe_Delim. 
[Coverage ID] = [Coverage ID].[Coverage ID] 
where [Coverage ID].ID = 1 

輸出看起來是這樣的:

GHD|CA015015HL|TM|F|20150414 
HDR|10|P00000000020123|AXQEN16E88|RXHUB|OPTUMRX|CP000005|20150415|104818|FRM|U|20150414|P 
TDT|A|CA015015HL|00008112312|003|||||This medication increases risk of serious toxicity in patients 65 and older. Use safer alternatives.|National guidelines and quality measures recommend avoiding this medication in patients 65 yrs and older due to incre 

首選的輸出:

HDR|10|P00000000020123|AXQEN16E88|RXHUB|OPTUMRX|CP000005|20150415|104818|FRM|U|20150414|P 
GHD|CA015015HL|TM|F|20150414 
TDT|A|CA015015HL|00008112312|003|||||This medication increases risk of serious toxicity in patients 65 and older. Use safer alternatives.|National guidelines and quality measures recommend avoiding this medication in patients 65 yrs and older due to incre 

回答

0

我想通了 - 至少一種變通方法,工程

SELECT HDR 
FROM(
SELECT 1, qry_Header.HDR 
from qry_Header 

union 

    select 2, qry_GHD_Headers.GHD_Header 
    from qry_GHD_Headers inner join [Coverage ID] ON qry_GHD_Headers.  
    [Coverage ID] = [Coverage ID].[Coverage ID] 
    where [Coverage ID].ID = 1 

    union 


select 3, 
[qry_Pipe_Delim].Pipe_Delim 
FROM qry_Pipe_Delim INNER JOIN [Coverage ID] ON qry_Pipe_Delim. 
[Coverage ID] = [Coverage ID].[Coverage ID] 
where [Coverage ID].ID = 1)