2017-02-13 11 views
0

Я пытаюсь выяснить, сколько «открытых котировок» было в каждом месяце/году и не знаете, как это сделать автоматически. Я не хочу, чтобы вручную вводить временные диапазоны, чтобы сделать это и искать помощь.T-SQL Get Counter для # открытых котировок в диапазоне дат

Я загрузил файл образец CSV и данные здесь: https://drive.google.com/open?id=0B4xdnV0LFZI1N1kwbFUtOUpMa2c

Первые две строки из таблиц выглядеть следующим образом:

tbl_QuoteWin

Quote_No Add_Date Update_Date  Quote_Status 
5   05-Aug-15  10-15-Oct   Win 
6   17-Sep-15  18-15-Nov   Win 

tbl_QuoteOpen

Quote_No Add_Date  Update_Date  Quote_Status 
1   08-Aug-15        Open 
3   07-Sep-15        Open 

tbl_QuoteLoss

Quote_No Add_Date   Update_Date  Quote_Status 
2   07-Aug-15   17-Oct-15    Loss 
4   25-Sep-15   7-Nov-15    Loss 

Нужный выход способ для меня, чтобы разделить, сколько цитат мы выиграли в месяц на сколько котировки были открыты в течение месяца. Я не знаю, как захватить месяцы между «Add_Date_Month» и «Update_Date_Month».

Например, в tbl_QuoteWin цитата # 2 должна быть в числе «открытых» котировок для августа-2015 и сентября-2015, потому что эта цитата была в статусе «Open», прежде чем она была помещена в «Win», статус в октябре 2015 года.

Первоначально я пытался вытащить только месяц/год, а затем подумал, что смогу что-то с этим сделать, но я действительно не знаю, как решить эту проблему. Даже если бы я сделал DATEDIFF(), я получил бы время, а не фактические месяцы.

Я надеюсь, что это имеет смысл и благодарит вас за то, что помогло мне или хотя бы направить меня в правильном направлении.

Спасибо!

+0

Ваши дата столбцы хранятся в виде даты или строк? – pquest

+0

Я не уверен в потоке. В ваших данных цитата № 2 как в проигрыше, так и в выигрыше для обновления 15.oct? –

+0

Вы хотите подсчитать количество котировок, открытых в конкретном месяце, или общее количество открытых котировок за месяц? Если цитата потеряна и выиграна в onth, следует ли ее считать открытыми кавычками в месяц или нет? Возможно, если бы вы могли добавить желаемый результат на свой вопрос, это могло бы помочь понять –

ответ

0
SELECT MONTH(Add_Date),YEAR(Add_Date), COUNT(*) 
FROM tbl_QUOTEOpen 
GROUP BY MONTH(Add_Date),YEAR(Add_Date) 

Это решение возможно, потому что только цитаты с открытым статусом находятся в таблице Open Quote. Как только они выиграны или потеряны, они перейдут на другой стол. Результаты, на основе таблиц в вашем вопросе, будут

8 2015 1 
9 2015 1 

 Смежные вопросы

  • Нет связанных вопросов^_^