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

Откуда: Симферополь
Сообщений: 540
Добрый день.
Есть запрос:
select max(l.DateSell) as DateSell, a.ID, l.CostOVHd
from InvObjPast iop
inner join article a on a.ID = iop.r_IDArticle
inner join Lot l on l.ID = iop.r_IDLot
where iop.r_IDStock in (68921)
and a.TypeArticle = 0 --артикула типа товар
and (a.DateLastModif >= '2012-01-01 00:00:00.000' or iop.AvQuantHd > 0)
group by a.ID, l.CostOVHd
order by a.ID


Помогите пожалуйста выбрать по одному коду (вторая колонка) одну цену (третья колонка) с максимальной датой для этого кода
мне надо для кода 10851 одну строку с максимальной датой
для кода 10924 одну строку с максимальной датой и т.д.

вот результат моей выборки:
2007-06-07 12:00:00.000 10851 1.083
2008-07-30 12:00:00.000 10851 1.484
2005-09-30 12:00:00.000 10851 0
2006-02-04 12:00:00.000 10851 0.966667
2006-08-11 12:00:00.000 10851 0.975
2006-10-21 12:00:00.000 10851 0.975333
2008-01-17 12:00:00.000 10851 1.442
2011-08-03 00:00:00.000 10851 2.192
2007-03-30 12:00:00.000 10851 1.033
2007-08-28 12:00:00.000 10851 1.342
2008-05-13 12:00:00.000 10851 1.717
2010-06-22 00:00:00.000 10851 2.125
2012-12-10 00:00:00.000 10851 2.7
2005-08-08 12:00:00.000 10851 1.08
2008-12-11 12:00:00.000 10851 1.716667
2010-11-09 00:00:00.000 10851 2.191667
2007-08-16 12:00:00.000 10924 1.1167
2007-11-22 12:00:00.000 10924 1.14167
2010-07-06 00:00:00.000 10924 2.666665
2010-11-23 00:00:00.000 10924 2.716665
2005-09-30 12:00:00.000 10924 0
2006-06-09 12:00:00.000 10924 1.058291
2007-12-30 12:00:00.000 10924 1.0917
2008-03-29 12:00:00.000 10924 1.43
2011-04-26 00:00:00.000 10924 2.908333
2011-08-21 00:00:00.000 10924 2.966667
2012-12-10 00:00:00.000 10924 3.4
2005-05-19 12:00:00.000 10924 1
2007-06-27 12:00:00.000 10924 1.0417
2007-10-19 12:00:00.000 10924 1.0583
2008-04-09 00:00:00.000 10924 1.141665
2005-09-02 12:00:00.000 10924 1.16
2011-05-17 00:00:00.000 10924 2.9667
2011-10-25 00:00:00.000 10924 3.1833
2012-09-24 00:00:00.000 10924 3.35
2007-04-02 12:00:00.000 10924 1.0915
2008-05-21 12:00:00.000 10924 1.5
2011-12-09 00:00:00.000 10924 2.6667
2011-10-18 00:00:00.000 10924 2.7167
2012-02-09 00:00:00.000 10924 3.166667
2012-09-18 00:00:00.000 10924 3.25
2011-06-30 15:46:06.000 10946 4.853
2006-06-07 12:00:00.000 10946 2.75
2005-04-08 11:22:01.000 10946 3.2
2008-10-10 10:02:06.000 10946 3.952
2006-03-24 12:00:00.000 10946 2.7
2007-03-18 12:00:00.000 10946 2.85
2008-08-22 12:00:00.000 10948 4.0755
2008-10-10 10:02:06.000 10948 4.389
2012-12-08 00:00:00.000 10948 7.3675
2013-01-03 12:00:00.000 10948 7.367533
2012-12-10 00:00:00.000 10948 8.725
2011-05-16 12:00:00.000 10948 9.158333
2011-11-19 00:00:00.000 10948 6.76
2012-08-06 12:00:00.000 10948 7.332417
2008-04-23 12:00:00.000 10948 2.483333
2007-11-13 12:00:00.000 10948 3.605
2008-01-24 12:00:00.000 10948 3.81102
2008-04-07 00:00:00.000 10948 3.848
2009-03-16 00:00:00.000 10948 6.5667
2012-06-08 13:37:19.000 10948 7.3325
2012-10-17 12:00:00.000 10948 7.36756
2005-09-30 12:00:00.000 10948 0
2009-12-09 15:35:13.000 10948 4.16
2010-04-08 12:00:00.000 10948 4.368851
2010-09-12 00:00:00.000 10948 5.2
2012-11-11 00:00:00.000 10948 7.33245
2012-12-13 12:00:00.000 10948 8.633333
2005-09-30 12:00:00.000 10950 0
2009-08-28 12:00:00.000 10950 1.8783
2009-10-22 00:00:00.000 10950 1.8784
2010-03-01 00:00:00.000 10950 2.1007
2008-10-10 10:02:06.000 10950 1.6867
2008-11-13 07:31:03.000 10950 1.38
2010-10-04 12:45:25.000 10950 1.9396
2010-08-06 00:00:00.000 10950 2.1006
2006-03-31 12:00:00.000 10950 0.88
2006-10-10 12:00:00.000 10950 1.226667
2009-05-11 00:00:00.000 10950 1.87835
2012-09-10 00:00:00.000 10950 2.53
2012-08-06 00:00:00.000 10950 3.036
2010-07-29 00:00:00.000 10952 0.05326
2007-06-30 12:00:00.000 10954 15.113
2010-01-12 12:00:00.000 10954 27.829
2009-05-16 00:00:00.000 10954 14.25
2009-08-17 10:07:40.000 10954 23.0058
2011-12-12 00:00:00.000 10976 2.35
2012-08-21 12:00:00.000 10978 3.6
2011-01-31 12:00:00.000 10978 3
2008-02-27 00:00:00.000 10996 2.9
2012-09-14 00:00:00.000 10996 5.014
2012-11-22 00:00:00.000 10996 5.014333
2005-04-08 11:22:01.000 10996 3.28
2006-03-20 12:00:00.000 11016 1.616667
2005-03-05 12:00:00.000 11016 1.68
2007-02-09 12:00:00.000 11016 1.841667
2007-12-11 12:00:00.000 11016 1.908333
2008-09-29 12:00:00.000 11016 2.058333
2008-12-22 12:00:00.000 11016 2.75875
2009-04-21 00:00:00.000 11016 3.175
2012-06-02 00:00:00.000 11016 3.45
2009-09-11 00:00:00.000 11016 3.925
2012-01-14 00:00:00.000 11016 4.05
2006-03-31 12:00:00.000 11016 1.692
2009-12-17 00:00:00.000 11016 3.5
2012-11-21 00:00:00.000 11016 3.75
2010-11-18 00:00:00.000 11016 3.4
2009-09-14 00:00:00.000 11016 3.926
2008-03-11 12:00:00.000 11016 2.058
2008-08-20 12:00:00.000 11016 2.4
2011-03-18 00:00:00.000 11016 3.816667
2005-08-09 19:11:08.000 11028 12.35
2006-09-12 12:00:00.000 11028 12.8
2009-06-06 00:00:00.000 11028 21.4327
2010-08-05 00:00:00.000 11028 22.0826
2008-01-12 12:00:00.000 11028 14.1
2005-03-22 12:00:00.000 11028 14.56
2008-05-28 12:00:00.000 11028 16.25
2008-06-07 12:00:00.000 11028 17.8793
2012-12-11 12:00:00.000 11028 31.36
2006-04-13 12:00:00.000 11028 13.093333
2006-10-17 12:00:00.000 11028 13.1
2009-01-14 12:00:00.000 11028 17.9653
2011-06-22 00:00:00.000 11028 29.198
2010-11-23 00:00:00.000 11028 29.199
2008-02-23 12:00:00.000 11030 12.2
2008-01-25 12:00:00.000 11036 14.9264
2009-10-30 12:00:00.000 11036 16.432
2006-09-14 12:00:00.000 11036 12.15
2006-04-13 10:47:07.000 11036 11.6
2006-02-22 12:00:00.000 11036 11.5
2007-02-17 12:00:00.000 11036 13.05
14 дек 12, 16:14    [13633072]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста с запросом  [new]
SirMix
Member

Откуда: Киев
Сообщений: 79
Andrew_vb1110,

может как-то так:

DECLARE @T TABLE (ID INT, DD DATETIME, Val FLOAT)

INSERT @T
        ( [ID], [DD], [Val] )
VALUES  
				( 1, '20121201 12:52:59', 1.2 ),
				( 1, '20121205 12:52:59', 2.0 ),
				( 1, '20121207 12:52:59', 3.0 ),
				( 2, '20121205 12:52:59', 4.7 ),
				( 3, '20121208 12:52:59', 4.8 ),
				( 4, '20121211 12:52:59', 4.3 ),
				( 4, '20121212 12:52:59', 5.4 ),
				( 4, '20121213 12:52:59', 6.6 ),
				( 5, '20121204 12:52:59', 7.0 ),
				( 5, '20121209 12:52:59', 7.7 ),
				( 7, '20121203 12:52:59', 1.8 )

SELECT
	[x].[ID], [x].[DD], [t2].[Val]
FROM
	(SELECT [ID], MAX([DD]) AS DD FROM @T AS t GROUP BY [ID]) x
	INNER JOIN @T AS t2
		ON [x].[ID] = [t2].[ID] AND [x].[DD] = [t2].[DD]
14 дек 12, 16:57    [13633466]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста с запросом  [new]
Добрый Э - Эх
Guest
Andrew_vb1110,

читать до полного просветления
14 дек 12, 17:14    [13633625]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста с запросом  [new]
Andrew_vb1110
Member

Откуда: Симферополь
Сообщений: 540
Добрый Э - Эх, Спасибо, второй способ оказался наиболее понятным для меня.
15 дек 12, 18:32    [13636975]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить