-1

これら 2 つのクエリを組み合わせて 1 つのサブクエリにする方法を知りたいですか?

select c.CustomerName, A.Qty
from Customer c join (select s.CustomerID, pd.Date, s.Qty
     from Period pd join Sales s on pd.TimeID = s.TimeID) A on c.CustomerID = A.CustomerID
where @Date = A.Date

select sum(case when (pd.Date between '2010-03-15' and @Date) then s.Qty else 0 end) as TotalQty
from Period pd full join Sales s on pd.TimeID = s.TimeID full join Customer c on s.CustomerID = c.CustomerID
group by c.CustomerName, c.CustomerID

1 つのテーブルには、CustomerName、Qty、および TotalQty の列が含まれているはずです。私は多くの方法を試しましたが、まったく機能しませんでした。本当にあなたの助けを願っています、ありがとう。

4

1 に答える 1

0

結果を「列」ではなく1行として見ていると仮定して、質問に答えます。

select c.CustomerName, A.Qty,(select sum(case when (pd.Date between '2010-03-15' and @Date) then s.Qty else 0 end) 
                from Period pd full join Sales s on pd.TimeID = s.TimeID full join Customer c on s.CustomerID = c.CustomerID
                group by c.CustomerName, c.CustomerID
                 ) as TotalQty
from Customer c join (select s.CustomerID, pd.Date, s.Qty
     from Period pd join Sales s on pd.TimeID = s.TimeID) A on c.CustomerID = A.CustomerID
where @Date = A.Date

結果を単一の列として表示したい場合は、「行から列への転置」をグーグルで検索してください

于 2013-11-10T09:45:53.020 に答える