Вопрос по нахождению чего-то за период
От: Lex_Sochi Россия  
Дата: 12.10.05 08:39
Оценка:
В MS SQL Server мне необходимо выбрать все документы пришедшие с текущего дня по любой прошедший день... пытаюсь использовать DateDiff — но что-то неправильно работает
вот запрос...
//Выбираем пришедший материал за период
quInCount.SQL.Clear;
quInCount.SQL.Add('select x.i as ID,x.d as Description,sum(x.c) as Kolichestvo, sum(x.s) as Summa from '
+'(select t.TTNNumber as n,t.TTNDate,cv.ID as i,cv.Description as d,tt.MaterialCountFact as c,tt.Price as s from TTNTab tt,ChargeVal cv,TTN t where tt.ChargeID=cv.ID and(DATEDIFF(dd,'+QuotedStr(str)+',t.TTNDate)>0) and tt.TTNID=t.ID '
+') x group by x.d,x.i');
quInCount.Open;
он, по идее, должен вернуть весь пришедший материал... а он гад — фигнб мне порет... хелп
Re: Вопрос по нахождению чего-то за период
От: Lex_Sochi Россия  
Дата: 12.10.05 08:41
Оценка:
Забыл добавить... str — это любая прошедшая дата
Re: Вопрос по нахождению чего-то за период
От: tpg Россия http://www.sql.ru/
Дата: 12.10.05 08:53
Оценка:
Здравствуйте, Lex_Sochi, Вы писали:

L_S>он, по идее, должен вернуть весь пришедший материал... а он гад — фигнб мне порет... хелп


А чо за фигню то?
Re[2]: Вопрос по нахождению чего-то за период
От: Lex_Sochi Россия  
Дата: 12.10.05 09:00
Оценка:
Здравствуйте, tpg, Вы писали:

tpg>Здравствуйте, Lex_Sochi, Вы писали:


L_S>>он, по идее, должен вернуть весь пришедший материал... а он гад — фигнб мне порет... хелп


tpg>А чо за фигню то?

ну он некоторые значения не додает... а некоторые вообще пропускает
Re[3]: Вопрос по нахождению чего-то за период
От: tpg Россия http://www.sql.ru/
Дата: 12.10.05 09:29
Оценка:
Здравствуйте, Lex_Sochi, Вы писали:

L_S>Здравствуйте, tpg, Вы писали:


tpg>>Здравствуйте, Lex_Sochi, Вы писали:


L_S>>>он, по идее, должен вернуть весь пришедший материал... а он гад — фигнб мне порет... хелп


tpg>>А чо за фигню то?

L_S>ну он некоторые значения не додает... а некоторые вообще пропускает

Ну, так попробуйте вместо DATEDIFF написать условие по диапазону дат.
Re[4]: Вопрос по нахождению чего-то за период
От: Lex_Sochi Россия  
Дата: 12.10.05 09:43
Оценка:
Здравствуйте, tpg, Вы писали:

tpg>Здравствуйте, Lex_Sochi, Вы писали:


L_S>>Здравствуйте, tpg, Вы писали:


tpg>>>Здравствуйте, Lex_Sochi, Вы писали:


L_S>>>>он, по идее, должен вернуть весь пришедший материал... а он гад — фигнб мне порет... хелп


tpg>>>А чо за фигню то?

L_S>>ну он некоторые значения не додает... а некоторые вообще пропускает

tpg>Ну, так попробуйте вместо DATEDIFF написать условие по диапазону дат.

какая это функция в Сервере? можно с примером даже...
Re[5]: Вопрос по нахождению чего-то за период
От: Horror_Infinity Россия  
Дата: 12.10.05 09:53
Оценка:
Здравствуйте, Lex_Sochi, Вы писали:

L_S>Здравствуйте, tpg, Вы писали:


tpg>>Здравствуйте, Lex_Sochi, Вы писали:


L_S>>>Здравствуйте, tpg, Вы писали:


tpg>>>>Здравствуйте, Lex_Sochi, Вы писали:


L_S>>>>>он, по идее, должен вернуть весь пришедший материал... а он гад — фигнб мне порет... хелп


tpg>>>>А чо за фигню то?

L_S>>>ну он некоторые значения не додает... а некоторые вообще пропускает

tpg>>Ну, так попробуйте вместо DATEDIFF написать условие по диапазону дат.

L_S>какая это функция в Сервере? можно с примером даже...
Это вообще-то RTFM...
    WHERE reg_date BETWEEN @start_date and @end_date
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[5]: Вопрос по нахождению чего-то за период
От: _d_m_  
Дата: 12.10.05 09:54
Оценка:
Здравствуйте, Lex_Sochi, Вы писали:

tpg>>Ну, так попробуйте вместо DATEDIFF написать условие по диапазону дат.

L_S>какая это функция в Сервере? можно с примером даже...


declare @BeginDate datetime, @EndDate datetime
set @BeginDate = '20050101'
set @EndDate = getdate()

select
   ...
from
   ...
where
   DateTimeColumn >= @BeginDate and DateTimeColumn < @EndDate
Re[5]: Вопрос по нахождению чего-то за период
От: tpg Россия http://www.sql.ru/
Дата: 12.10.05 09:54
Оценка:
Здравствуйте, Lex_Sochi, Вы писали:

L_S>какая это функция в Сервере? можно с примером даже...


Да никакая это не функция...


... and t.TTNDate >= <здесь значение начальной даты> and...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.