如何合并SQL查询

时间:2009-08-22 17:16:59

标签: sql-server

我想在一行中输出以下查询 我想合并下面的SQL查询

请帮帮我

select  Provider_ID,Circel_ID,count(distinct td_all.ID),t_det.BillNoTemp   from TAPINOUT_DIFFERENCES_ALL td_all
        inner join TransferDetails t_det on td_all.bill_no=t_det.Bill_No
where td_all.bill_no not in (select bill_no from  TAPINOUT_DIFFERENCES_ALL where Status='Open') and  sourcename='TransferDetails'
group by  td_all.Provider_ID,td_all.Circel_ID,t_det.BillNoTemp
 order by td_all.Provider_ID,td_all.Circel_ID

select td_all.Provider_ID,td_all.Circel_ID,TAP_DET.BillNoTemp ,count(distinct td_all.ID)as count  from  TAPINOUT_DIFFERENCES_ALL  td_all
INNER JOIN TAPIN_Details TAP_DET ON td_all.FILENAME=TAP_DET.FLNAME
        where td_all.SOURCENAME='TransferDetails' and td_all.Status='Open'
                    group by td_all.Provider_ID,td_all.Circel_ID,TAP_DET.BillNoTemp  
 order by td_all.Provider_ID,td_all.Circel_ID

select td_all.Provider_ID,td_all.Circel_ID,TAP_DET.BillNoTemp,count(distinct td_all.ID)AS COUNT  from  TAPINOUT_DIFFERENCES_ALL  td_all
inner join TAPIN_Details TAP_DET on td_all.FILENAME=TAP_DET.FLNAME
        where td_all.anb_comments='Invoice Not Found'
                    group by td_all.Provider_ID,td_all.Circel_ID,TAP_DET.BillNoTemp   order by td_all.Provider_ID,td_all.Circel_ID

select td_all.Provider_ID,td_all.Circel_ID,t_det.BillNoTemp,count(distinct td_all.ID)  from  TAPINOUT_DIFFERENCES_ALL td_all
inner join TransferDetails t_det on td_all.bill_no=t_det.Bill_No
        where td_all.anb_comments='IT File not found'
                    group by td_all.Provider_ID,td_all.Circel_ID,t_det.BillNoTemp  order by td_all.Provider_ID,td_all.Circel_ID

2 个答案:

答案 0 :(得分:1)

我认为您正在寻找UNION operator,它允许您将多个查询的结果附加到单个结果集中。

它的工作原理如下:

SELECT columns FROM tbl1 WHERE criteria

UNION

SELECT columns FROM tbl2 WHERE criteria

答案 1 :(得分:0)

在语句之间使用UNION关键字。

SELECT bla, bla2 FROM table1
UNION ALL
SELECT bla3, bla4 FROM table2