Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Максимальное значение в запросе (число прочтений - 3107 )
RuporAbsurda
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 413
Зарегистрирован: 29. Июня 2006
Максимальное значение в запросе
28. Апреля 2007 :: 10:58
Печать  
В запросе выводятся даты документов. Как определить только самый последний?
Запрос такой:
|SELECT
|  CAST (LEFT(Жур.Date_Time_IDDoc, 8) as DateTime) as ДатаДк
|FROM
|  $Документ.ПродажиБПСС as ДокР  (nolock),
|  _1SJourn as Жур (nolock),
|  $Справочник.Контрагенты as СпрК
|WHERE
|  (Жур.IDDoc=ДокР.IDDoc) AND
|  (Жур.IDDocDef = $ВидДокумента.ПродажиБПСС) AND
|  (Жур.Date_Time_IDDoc BETWEEN :НачДата AND :КонДата~)
|  AND (СпрК.CODE = :КодРаменки)
|GROUP BY
|  CAST (LEFT(Жур.Date_Time_IDDoc, 8) as DateTime)
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Максимальное значение в запросе
Ответ #1 - 28. Апреля 2007 :: 11:06
Печать  
SELECT top 1
|  CAST (LEFT(Жур.Date_Time_IDDoc, 8) as DateTime) as ДатаДк
|FROM
|  $Документ.ПродажиБПСС as ДокР  (nolock), 
|  _1SJourn as Жур (nolock),
|  $Справочник.Контрагенты as СпрК 
|WHERE
|  (Жур.IDDoc=ДокР.IDDoc) AND 
|  (Жур.IDDocDef = $ВидДокумента.ПродажиБПСС) AND
|  (Жур.Date_Time_IDDoc BETWEEN :НачДата AND :КонДата~)
|  AND (СпрК.CODE = :КодРаменки) 
|order BY Жур.Date_Time_IDDoc desc
  

1&&2&&3
Наверх
 
IP записан
 
RuporAbsurda
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 413
Зарегистрирован: 29. Июня 2006
Re: Максимальное значение в запросе
Ответ #2 - 28. Апреля 2007 :: 11:08
Печать  
А если есть запрос еще и по сетевым точкам. Тогда как?
|SELECT
|$ДокР.СетеваяТочка as [СетеваяТочка $Справочник.СетевыеТочки],
|  CAST (LEFT(Жур.Date_Time_IDDoc, 8) as DateTime) as ДатаДк
|FROM
|  $Документ.ПродажиБПСС as ДокР  (nolock),
|  _1SJourn as Жур (nolock),
|  $Справочник.Контрагенты as СпрК
|WHERE
|  (Жур.IDDoc=ДокР.IDDoc) AND
|  (Жур.IDDocDef = $ВидДокумента.ПродажиБПСС) AND
|  (Жур.Date_Time_IDDoc BETWEEN :НачДата AND :КонДата~)
|  AND (СпрК.CODE = :КодРаменки)
|GROUP BY
|$ДокР.СетеваяТочка,
|  CAST (LEFT(Жур.Date_Time_IDDoc, 8) as DateTime)
  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Максимальное значение в запросе
Ответ #3 - 28. Апреля 2007 :: 11:15
Печать  
|SELECT
|$ДокР.СетеваяТочка as [СетеваяТочка $Справочник.СетевыеТочки],
|  CAST (LEFT(Max(Жур.Date_Time_IDDoc), 8) as DateTime) as ДатаДк
|FROM
|  $Документ.ПродажиБПСС as ДокР  (nolock),  
|  _1SJourn as Жур (nolock),
|  $Справочник.Контрагенты as СпрК  
|WHERE
|  (Жур.IDDoc=ДокР.IDDoc) AND  
|  (Жур.IDDocDef = $ВидДокумента.ПродажиБПСС) AND
|  (Жур.Date_Time_IDDoc BETWEEN :НачДата AND :КонДата~)
|  AND (СпрК.CODE = :КодРаменки)  
|GROUP BY
|$ДокР.СетеваяТочка
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
RuporAbsurda
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 413
Зарегистрирован: 29. Июня 2006
Re: Максимальное значение в запросе
Ответ #4 - 28. Апреля 2007 :: 11:15
Печать  
Как вариант:
|SELECT Под.СетеваяТочка as [СетеваяТочка $Справочник.СетевыеТочки] , Max(Под.ДатаДк)
|FROM (
|SELECT
|$ДокР.СетеваяТочка as СетеваяТочка,
|  CAST (LEFT(Жур.Date_Time_IDDoc, 8) as DateTime) as ДатаДк
|FROM
|  $Документ.ПродажиБПСС as ДокР  (nolock),
|  _1SJourn as Жур (nolock),
|  $Справочник.Контрагенты as СпрК
|WHERE
|  (Жур.IDDoc=ДокР.IDDoc) AND
|  (Жур.IDDocDef = $ВидДокумента.ПродажиБПСС) AND
|  (Жур.Date_Time_IDDoc BETWEEN :НачДата AND :КонДата~)
|  AND (СпрК.CODE = :КодРаменки)
|GROUP BY
|$ДокР.СетеваяТочка,
|  CAST (LEFT(Жур.Date_Time_IDDoc, 8) as DateTime)
|)as Под
|GROUP BY
|Под.СетеваяТочка
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать