|
|
|
Access SQL
|
|||
|---|---|---|---|
|
#18+
Народ есть ли в Access SQL такое понятие как переменная? в MySQL типа моно так например select @perem:=fld1 from table и дальше эту переменную юзать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2005, 16:53:46 |
|
||
|
Access SQL
|
|||
|---|---|---|---|
|
#18+
Переменные есть, но для этого надо писать на VBA. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2005, 16:56:02 |
|
||
|
Access SQL
|
|||
|---|---|---|---|
|
#18+
demon11Народ есть ли в Access SQL такое понятие как переменная? в MySQL типа моно так например select @perem:=fld1 from table и дальше эту переменную юзать Если в ХП, то Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2005, 17:15:43 |
|
||
|
Access SQL
|
|||
|---|---|---|---|
|
#18+
эт понятно, думал мот моно SQL-м, вощем то проблема такая есть запрос SELECT DETAIL.[Дата начала], Count(*) AS cnt FROM DETAIL WHERE ((DETAIL.[Время начала])>=#8:00:00 AM# And (DETAIL.[Время начала])<=#7:59:59 PM#) GROUP BY DETAIL.[Дата начала] UNION SELECT DETAIL.[Дата начала], Count(*) AS cnt FROM DETAIL WHERE ((DETAIL.[Время начала])<=#8:00:00 AM# or (DETAIL.[Время начала])>=#7:59:59 PM#) GROUP BY DETAIL.[Дата начала]; (не уверен в правильности расстановки скобок, выдрал из контекста) здесь выб-ся сначала count-ы от 8 am до 8 pm, типа день, потом от 8 pm до 8 am ночь токма ночь по разным суткам нуно раскидать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2005, 17:22:41 |
|
||
|
Access SQL
|
|||
|---|---|---|---|
|
#18+
начало пред-й фразы восновном ВС за определение переменной спасибо правда к сожелению Access 97 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2005, 17:31:54 |
|
||
|
Access SQL
|
|||
|---|---|---|---|
|
#18+
подробнее - в чем проблема и зачем переменные понадобились? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2005, 17:39:53 |
|
||
|
Access SQL
|
|||
|---|---|---|---|
|
#18+
vizioподробнее - в чем проблема и зачем переменные понадобились? а что, использование переменных это настолько редкое дело? ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2005, 17:42:53 |
|
||
|
Access SQL
|
|||
|---|---|---|---|
|
#18+
пытаюсь объяснять поля: дата время код ... нуно типа отчет count-ы по определенному "коду" сгруппировать по день ночь (день с 8 am до 8 pm, ночь с 8 pm до 8 am) еси группировать по дате то просто select count(*) from table where код=1 group by дата а по этим промежуткам нечто подобное ночь распадается на 2 интервала, нуно их собрать, те count за предыдущие сутки с 8 pm и за след-е до 8 am с днем то понятно (см часть до union) второй реплики а как быть с ночью? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2005, 17:43:51 |
|
||
|
Access SQL
|
|||
|---|---|---|---|
|
#18+
Kelme vizioподробнее - в чем проблема и зачем переменные понадобились? а что, использование переменных это настолько редкое дело? ;) не настолько )) но если можно задачу на сиквеле сделать без процедурного языка, то лучше на сиквеле ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2005, 17:44:34 |
|
||
|
Access SQL
|
|||
|---|---|---|---|
|
#18+
вот и пытаюсь понять моно ли??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2005, 17:51:40 |
|
||
|
Access SQL
|
|||
|---|---|---|---|
|
#18+
еси с языком то н-но примерно так сначала все DISTINCT дата потом для каждой даты считать день, заносить в заранье приготовленную и очищенную таблицу ночь из кусков для этой даты и для след-й (кстати при работами с датами какова конструкция моно ли так дата + (INTERVAL 1 DAY)), заносим в таблицу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2005, 17:57:11 |
|
||
|
Access SQL
|
|||
|---|---|---|---|
|
#18+
Кароче. Переменных в эксеcе нет, зато можно писать функции на бэйсике и использовать их в запросе. Пишем функцию Function fnThisIsNight(p1 as date) as string If (Hour(p1)>7) and Hour(p1)<20 Then fnThisIsNight="День" Else fnThisIsNight="Ночь" end function Ну и в запросе группируешь по этой функции ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2005, 17:57:20 |
|
||
|
Access SQL
|
|||
|---|---|---|---|
|
#18+
Чего "моно"? Нету в аксессе Embedded SQL. Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2005, 17:58:07 |
|
||
|
Access SQL
|
|||
|---|---|---|---|
|
#18+
что-нибудь типа?? Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2005, 17:59:46 |
|
||
|
Access SQL
|
|||
|---|---|---|---|
|
#18+
не понимает подзапрос посе FROM ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2005, 18:05:30 |
|
||
|
Access SQL
|
|||
|---|---|---|---|
|
#18+
ну так отдельно подзапрос прогони, найди ошибку в синтаксисе подзапросы Access понимает или сделай так, как Shark написал, вынеси в отдельную функцию и группируй по ней ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2005, 18:16:18 |
|
||
|
Access SQL
|
|||
|---|---|---|---|
|
#18+
vizioчто-нибудь типа?? Код: plaintext 1. 2. 3. 4. 5. еси разбить на 2 подзапроса, чот слишком много получается, в течении одних суток то легко получить union-м но нуно чтоб ночь была после 8 pm 'предыдущих суток' и до 8 am 'текущих' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2005, 18:20:15 |
|
||
|
Access SQL
|
|||
|---|---|---|---|
|
#18+
зачем разбивать на 2 подзапроса? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2005, 18:23:23 |
|
||
|
Access SQL
|
|||
|---|---|---|---|
|
#18+
demon11(кстати при работами с датами какова конструкция моно ли так дата + (INTERVAL 1 DAY)), заносим в таблицу возможна простая конструкция (дата + 1) если правильно понимаю вопрос... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2005, 18:25:21 |
|
||
|
Access SQL
|
|||
|---|---|---|---|
|
#18+
GROUP BY Int(DETAIL.[Дата начала] + DETAIL.[Время начала] - 0.5) Т.е. группировка по дате не самого момента, а того, который за 12 часов до него. Такой момент для всей ночи будет в пределах одних суток. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2005, 18:26:15 |
|
||
|
Access SQL
|
|||
|---|---|---|---|
|
#18+
т. е. я имею ввиду то что вы видимо обозвали 'отдельно прогнать подзапрос' тоды чот не корректно работает правда подзапрос у меня выглядит несколько по иному SELECT DETAIL.[Дата начала], IIf(((DETAIL.[Время начала])<#8:00:00 AM#), "night", "day") AS StartTime FROM DETAIL; но думаю смысл тот, приведенная конструкция не сработала ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2005, 18:27:56 |
|
||
|
Access SQL
|
|||
|---|---|---|---|
|
#18+
пордон подзапрос не корректный малость, хотя суть от этого не меняется как быть с ночью??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2005, 18:31:08 |
|
||
|
Access SQL
|
|||
|---|---|---|---|
|
#18+
Владимир СанычGROUP BY Int(DETAIL.[Дата начала] + DETAIL.[Время начала] - 0.5) Т.е. группировка по дате не самого момента, а того, который за 12 часов до него. Такой момент для всей ночи будет в пределах одних суток. это идея, еси так моно поподробнее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2005, 18:34:36 |
|
||
|
Access SQL
|
|||
|---|---|---|---|
|
#18+
SELECT DETAIL.[Дата начала], Count(*) AS cnt FROM DETAIL WHERE ((DETAIL.[Время начала])>=#8:00:00 AM# And (DETAIL.[Время начала])<#8:00:00 PM#) GROUP BY DETAIL.[Дата начала] UNION SELECT GROUP BY Int(DETAIL.[Дата начала] + DETAIL.[Время начала] - 0.5), Count(*) AS cnt FROM DETAIL WHERE ((DETAIL.[Время начала])<=#8:00:00 AM# or (DETAIL.[Время начала])>#8:00:00 PM#) GROUP BY Int(DETAIL.[Дата начала] + DETAIL.[Время начала] - 0.5); Я еще одну вещь подправил - чтобы последняя секунда правильно учитывалась. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2005, 18:38:53 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32868712&tid=1669251]: |
0ms |
get settings: |
4ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
47ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 188ms |
| total: | 302ms |

| 0 / 0 |
