-1

私は2つのテーブルを持っています:

SalesOrder - 2 つのレコードを持つ

OrderID   Order Desc
101       My Order1
102       My Order2

SalesOrderLine - 次のレコードを持つ:

OrderID    Order_Line
101        10
101        20
102        10
102        20
102        30

私の予想される結果は、クエリを実行すると、次のようになるはずです。

  • TotalSalesordercount は 2 です。と
  • LineCountとして2 for Order 101_3 for Order 102
4

3 に答える 3

0

JOINで 2 つのテーブルを取得してOrderIdから、集計関数を使用します。

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;

デモで SQL Fiddle を参照してください

于 2013-04-08T10:45:37.857 に答える
0
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
于 2013-04-08T10:42:15.637 に答える
0

次のようなものがデータに対して機能します。

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

demo を使用した SQL Fiddle

于 2013-04-08T10:47:31.080 に答える