super_user Ответов: 1

Запись за последние 2 месяца в SQL


Я пробую этот SQL-запрос, чтобы получить текущую сумму, а также последние записи за 2 месяца, а запись за текущий месяц означает всего 3 месяца..

Что я уже пробовал:

Select distinct tblRv.Owner , 
DATENAME(MONTH,tblRe.StartDate) as [Month],
count(tblvv.VName)
 as currentdata
from tblRe
inner join 
tblRv on tblRe.RID=tblRv.RID
inner join 
 tblvv on tblRv.ID=tblvv.MID
where tblRe.StartDate>=DATEADD(MONTH,-3,GETDATE())
AND tblRe.EndDate<=GETDATE()
AND tblRe.Region='uk'
and tblRv.Owner='roh'
and VName <> ''
group by tblRv.Owner,
DATENAME(MONTH,tblRe.StartDate)
order by tblRv.Owner



это показывает мне такие данные
Owner	Month	currentdata
roh	 July	  3
roh	 June	  10
roh	  May	  6


где как в моей таблице данные такие
Owner	Month	currentdata
roh	 July	  3
roh	 June	  1
roh	  May	  0


и форматирование, как я хочу
Owner	   july  june may
roh	   3      1     0

Manoj Kumar Choubey

Попробуйте с другим подходом использовать наличие

Dil0500

Вы можете использовать pivot
https://technet.microsoft.com/en-us/library/ms177410(v=sql. 105). aspx

vani suresh

Привет,


Можете ли вы разместить образцы данных из таблиц объединения?.Позволь мне попробовать для тебя

1 Ответов

Рейтинг:
0

Patrice T

Ты хочешь pivot результат.
Простой способ использования Pivot в SQL-запросе[^]
PIVOT и UNPIVOT в Sql Server | SqlHints.com[^]

[Обновление]
Ваш вопрос-это двойной вопрос.
Пивот будет делать по примеру 2 по примеру 3.
Вы забыли объяснить, как изменить числа между примерами 1 и 2. объясните значение этих чисел.
Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.


super_user

как использовать pivot ? не могли бы вы описать, потому что я никогда не использую это раньше

Patrice T

Вы не можете перейти по 2 ссылкам в решении ?

super_user

нет, теперь я понимаю идею, но если использовать pivot, то результат будет таким же, как этот 3,10,6, но я хочу получить такой же результат, как этот 3,1,0 . это не влияет на результат, я думаю?

Patrice T

Каково правило преобразования 3.10.6 в 3.1.0 ?
вам, конечно, придется "подготовить" данные перед pivot

super_user

на самом деле нет никакого правила, когда я пытаюсь выполнить запрос индивидуально, как это

выбрать различные
tblRv.Владелец,

count (tblVv. VName) как данные
от tblRe
внутреннее соединение tblRv
на tblRe.МПОГ=tblRv.Избавиться
внутреннее соединение tblVv
на tblRv.ИД=tblVv.Средний
где tblRv. Owner= ' roh ' и
тблр.StartDate = '2016-06-01 00: 00: 00'
И тблр.EndDate <= '2016-06-30 23:59:59'
и VName < & gt;"
и tblRe.области='Великобритания'
группа по
tblRv.Владелец,
заказ от tblRv.Owner

таким образом, эти данные показывают, например, в июне месяце данные " 1"
данные владельца
РО 1

Patrice T

Вы должны найти, как получить нужные данные,а затем повернуть.

super_user

Я не нашел вот почему я пишу здесь :/