|
|
|
Загрузка с запросом
|
|||
|---|---|---|---|
|
#18+
Извините за назойливость, но не могу составить запрос: в таблице есть поля dz(дата заявки) и du(дата устранения повреждения). Требуется подсчитать количество записей по графе "Осталось неустраненных повреждений от прошлых дней" за каждый день (data) выбранного периода (от d1 до d2). Логически условие такое: (dz<data) and (du>=data). Результат должен быть примерно таким: 01.01.2000 7 01.02.2000 15 и т.д. за месяц. Наверно надо писать пользовательскую функцию? Дайте дельный совет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2002, 09:51:19 |
|
||
|
Загрузка с запросом
|
|||
|---|---|---|---|
|
#18+
Если я правильно понял. Надо что бы у Вас была таблица с днями, на которые вы хотите получить (days(data datetime)) Код: plaintext 1. 2. 3. 4. Кстати обычно пишут не data, а dat a ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2002, 10:14:11 |
|
||
|
Загрузка с запросом
|
|||
|---|---|---|---|
|
#18+
Если я правильно понял. Надо что бы у Вас была таблица с днями, на которые вы хотите получить (days(data datetime)) Код: plaintext 1. 2. 3. 4. Кстати обычно пишут не data, а dat e ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2002, 10:14:24 |
|
||
|
Загрузка с запросом
|
|||
|---|---|---|---|
|
#18+
Что типа этого: create function Test (@StartDate smalldatetime, @EndDate smalldatetime) returns @Test table (ID bigint identity(1,1), ActualDate smalldatetime, DamagesCount smalldatetime) as begin while @StartDate<=@EndDate begin insert into @Test(ActualDate, DamagesCount) select @StartDate as ActualDate, DamagesCount from (select count(du) as DamagesCount from mytable where dz<=@StartDate and du>@StartDate) @StartDate=DateAdd(day, 1, @StartDate) end return end ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2002, 10:21:17 |
|
||
|
Загрузка с запросом
|
|||
|---|---|---|---|
|
#18+
SergSuper: А нельзя ли таблицу с днями составить "на лету", через параметры или цикл? Maks: Ругается на строку: @StartDate=DateAdd(day, 1, @StartDate) Неверный синтаксис. (SQL Server 2000) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2002, 08:27:31 |
|
||
|
Загрузка с запросом
|
|||
|---|---|---|---|
|
#18+
2 Dino Sorry select @StartDate=DateAdd(day, 1, @StartDate) А таблица на лету и создается ... Читай BOL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2002, 09:26:16 |
|
||
|
Загрузка с запросом
|
|||
|---|---|---|---|
|
#18+
Maksu: Все равно ругается на той же строке. Чего то не хватает. Сейчас читаю BOL, но врубится быстро не могу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2002, 10:00:18 |
|
||
|
Загрузка с запросом
|
|||
|---|---|---|---|
|
#18+
Савсем плахой стэл :)) set @StartDate=DateAdd(day, 1, @StartDate) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2002, 10:50:52 |
|
||
|
Загрузка с запросом
|
|||
|---|---|---|---|
|
#18+
2Makc >>Савсем плахой стэл :)) >> >>set @StartDate=DateAdd(day, 1, @StartDate) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2002, 10:59:30 |
|
||
|
Загрузка с запросом
|
|||
|---|---|---|---|
|
#18+
Тот же результат. Может пропущено где-то go ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2002, 11:13:47 |
|
||
|
Загрузка с запросом
|
|||
|---|---|---|---|
|
#18+
create function Test (@StartDate smalldatetime, @EndDate smalldatetime) returns @Test table (ID bigint identity(1,1), ActualDate smalldatetime, DamagesCount smalldatetime) as begin while @StartDate<=@EndDate begin insert into @Test(ActualDate, DamagesCount) select @StartDate as ActualDate, DamagesCount from (select count(du) as DamagesCount from mytable where dz<=@StartDate and du>@StartDate) AS a select @StartDate = DateAdd(day, 1, @StartDate) end return end ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2002, 11:21:52 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32043083&tid=1821151]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
24ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
27ms |
get tp. blocked users: |
1ms |
| others: | 187ms |
| total: | 263ms |

| 0 / 0 |
