日期:2014-05-18  浏览次数:20417 次

sql查询的结果进行在次统计
SQL code

    select  OrderID,SUM(Qty) AS[入库数量]
     From Order  where OrderID like '%OrderNo-2388'  


上述SQL语句只是表达一个意思,实际稍复杂点!
查询结果如下:

定单号 入库数量
OrderNo-2388 10000
AAOrderNO-2388 1000


请问如何上述查询结果在进行统计一部达到查询如下的效果

定单号 入库数量
OrderNo-2388 11000


------解决方案--------------------
SQL code

create table #Order
(
    ORderID nvarchar(100),
    Tcount int
) 
insert #Order
select N'OrderNo-2388', 10000 union all
select N'AAOrderNO-2388', 1000
--#1.建立一个临时表, 把Like中的OrderNo输进去
create table TableOrderID
(
    OrderID nvarchar(100)
)
insert into TableOrderID
select N'OrderNo-2388'

--#2.查询
select
    b.OrderID,
    Tcount = SUM(Tcount)
from #Order a
    inner join TableOrderID b
        on charindex(b.OrderID, a.OrderID) > 0
group by b.OrderID
/*
OrderID    Tcount
OrderNo-2388    11000
*/

------解决方案--------------------
SQL code


select max(OrderID),sum(Qty) AS[入库数量]
from(
select  OrderID,Qty,1 as a
     From Order  where OrderID like '%OrderNo-2388'  ) tmp group by a