Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Помогите настроить фильтрацию по таблице  [new]
Sadmann
Member

Откуда:
Сообщений: 8
Доброго времени суток, помогите с таблицей
Нужен select, который для указанной даты @Date будет выдавать для каждой бумаги сумму сделок покупки и сумму сделок продажи

DealDate Дата сделки (без времени)
Security Код ценной бумаги
DealType Тип сделки 0 – buy, 1 – sell
Qty Сумма сделки
Есть таблица tDeal:

DealDate   |  Security  |   DealType  |   Qty
_______________________________________________

21.05.2007 | Sec1 | 1 | 1

21.05.2007 | Sec1 | 1 | 2

21.05.2007 | Sec2 | 0 | 4

21.05.2007 | Sec2 | 1 | 8

21.05.2007 | Sec3 | 0 | 16

22.05.2007 | Sec1 | 1 | 5

22.05.2007 | Sec3 | 0 | 7

При запросе @date = '21.05.2007’ select должен выдать результат:

ЦБ   |   Сумма покупок  |  Сумма продаж

Sec1 | 0 | 3

Sec2 | 4 | 8

Sec3 | 16 | 0
30 ноя 19, 18:25    [22029500]     Ответить | Цитировать Сообщить модератору
 Re: Помогите настроить фильтрацию по таблице  [new]
londinium
Member

Откуда: Киев
Сообщений: 1139
USE MASTER 
GO

WITH CTE AS
(
  SELECT '20070521'AS DEALDATE,'SEC1'AS SECURITYY,1 AS DEALTYPE,1 AS QTY
   UNION ALL
  SELECT '20070521'AS DEALDATE,'SEC1'AS SECURITYY,1 AS DEALTYPE,2 AS QTY 
   UNION ALL
  SELECT '20070521'AS DEALDATE,'SEC2'AS SECURITYY,0 AS DEALTYPE,4 AS QTY 
   UNION ALL
  SELECT '20070521'AS DEALDATE,'SEC2'AS SECURITYY,1 AS DEALTYPE,8 AS QTY   
   UNION ALL
  SELECT '20070521'AS DEALDATE,'SEC3'AS SECURITYY,0 AS DEALTYPE,16 AS QTY    
   UNION ALL
  SELECT '20070522'AS DEALDATE,'SEC1'AS SECURITYY,1 AS DEALTYPE,5 AS QTY 
   UNION ALL
  SELECT '20070522'AS DEALDATE,'SEC3'AS SECURITYY,0 AS DEALTYPE,7 AS QTY  
   
)
SELECT C.SECURITYY,
SUM(CASE WHEN C.DEALTYPE=0 THEN C.QTY ELSE 0 END)AS SELL_SUMM,
SUM(CASE WHEN C.DEALTYPE=1 THEN C.QTY ELSE 0 END)AS BUYSUMM
FROM CTE AS C
WHERE C.DEALDATE='20070521'
GROUP BY C.SECURITYY
30 ноя 19, 19:50    [22029530]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить