의 출력을 결합내가 2 개 테이블이 두 쿼리
OrderID Order_Line
101 10
101 20
102 10
102 20
102 30
내 예상 된 결과가 때 I 쿼리를 실행해야합니다 :
- TotalSalesordercount를 2로 설정하십시오. 및
LineCount
2 for Order 101
로하고3 for Order 102
의 출력을 결합내가 2 개 테이블이 두 쿼리
OrderID Order_Line
101 10
101 20
102 10
102 20
102 30
내 예상 된 결과가 때 I 쿼리를 실행해야합니다 :
LineCount
2 for Order 101
로하고 3 for Order 102
select
t1.orderid,
count(distinct t1.orderid) as 'TotalSalesordercount',
count(*) as 'LineCount'
from
SalesOrder T1,
SalesOrderLine T2
where
t1.orderid = t2.orderid
group by
t1.orderid
당신은 OrderId
에 JOIN
두 테이블에 원하는 다음 집계 함수를 사용합니다 :
select so.orderid,
so.order_desc,
count(ol.orderid) LineCount,
(select count(*) from salesorder) TotalOrders
from salesorder so
inner join orderline ol
on so.orderid = ol.orderid
group by so.orderid, so.order_desc;
뭔가를 참조하십시오 이렇게하면 데이터에 적용됩니다.
select so.OrderId
, TotalSalesordercount = (select count(distinct OrderId) from SalesOrderLine)
, LineCount = count(1)
from SalesOrder so
inner join SalesOrderLine sol on so.OrderId = sol.OrderId
group by so.OrderId