Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Народ помогите , курсач горит / 11 сообщений из 11, страница 1 из 1
20.12.2004, 05:23:06
    #32834006
RTTugger
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Народ помогите , курсач горит
Вобщем такая трабла:
Есть запрос типа
ROOM , P1 , P2 ,P3 , P4
на основе которого строится отчет(группировка по ROOM т.е. каждой записи ROOM соответствуют 4 значения P1 , P2 ,P3 , P4)
мне надо:
для каждой ROOM найти(и вывести его в отчет) минимальное P(из вот этих 4) и в конце отчета подвести итоги - сложить все эти минимальные P...
подскажите плз. как можно быстрее , а то курсач в среду сдавать
...
Рейтинг: 0 / 0
20.12.2004, 06:25:31
    #32834015
@ndrey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Народ помогите , курсач горит
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SELECT ROOM, 
case when 
p1<=p2 and p1<=p3 and p1<=p4 then p1
when 
p2<=p1 and p2<=p3 and p2<=p4 then p2
when 
p3<=p1 and p3<=p2 and p3<=p4 then p3
when 
p4<=p1 and p4<=p2 and p4<=p3 then p4
end p
 FROM Table
...
Рейтинг: 0 / 0
20.12.2004, 06:30:46
    #32834016
@ndrey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Народ помогите , курсач горит
Точнее:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
select room, min(p) p from
(
SELECT ROOM, 
case when 
p1<=p2 and p1<=p3 and p1<=p4 then p1
when 
p2<=p1 and p2<=p3 and p2<=p4 then p2
when 
p3<=p1 and p3<=p2 and p3<=p4 then p3
when 
p4<=p1 and p4<=p2 and p4<=p3 then p4
end 
p
 FROM Table
) subq group by room 
...
Рейтинг: 0 / 0
20.12.2004, 06:43:01
    #32834020
RTTugger
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Народ помогите , курсач горит
это прямо в отчете можно забабахать?
...
Рейтинг: 0 / 0
20.12.2004, 07:13:06
    #32834025
@ndrey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Народ помогите , курсач горит
Это запрос к sql серверу для отчета (если база на SQL)

А вот просто запрос к таблице базы на A97 для отчета

Код: plaintext
1.
2.
3.
4.
5.
6.
SELECT Table.ROOM, 
Min(IIf(p1<=p2 And p1<=p3 And p1<=p4,p1,
IIf(p2<=p1 And p2<=p3 And p2<=p4,p2,
IIf(p3<=p2 And p3<=p1 And p3<=p4,p3,
IIf(p4<=p2 And p4<=p3 And p4<=p1,p4))))) AS p
FROM [Table]
GROUP BY Table.ROOM;

создаешь запрос (например Q1), в sql-виде вставляешь текст,
создаешь отчет на основе запроса (Q1), ставишь итоги по P и смотришь
...
Рейтинг: 0 / 0
20.12.2004, 10:03:03
    #32834157
Народ помогите , курсач горит
Что-то мне кажется, что min здесь не нужен:

Код: plaintext
1.
2.
3.
4.
5.
6.
SELECT Table.ROOM, 
IIf(p1<=p2 And p1<=p3 And p1<=p4,p1,
IIf(p2<=p1 And p2<=p3 And p2<=p4,p2,
IIf(p3<=p2 And p3<=p1 And p3<=p4,p3,
IIf(p4<=p2 And p4<=p3 And p4<=p1,p4)))) AS p
FROM [Table]
GROUP BY Table.ROOM
...
Рейтинг: 0 / 0
20.12.2004, 11:25:09
    #32834355
@ndrey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Народ помогите , курсач горит
авторЧто-то мне кажется, что min здесь не нужен:

1. Группировка из дву полей только по одному?!
2. А как отработает запрос на таблице вида:
ROOMp1p2p3p4a1111b2345c6420a2309 где два ROOM = 'a'???
...
Рейтинг: 0 / 0
20.12.2004, 11:59:03
    #32834457
Народ помогите , курсач горит
Вот, что получится:

Room p1 p2 p3 p4Mina 1 1 1 1 1b 2 3 4 5 2c 6 4 2 0 0a 2 3 0 9 0

А ты свой запрос запускал?
...
Рейтинг: 0 / 0
20.12.2004, 13:48:54
    #32834801
@ndrey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Народ помогите , курсач горит
Пользователь2А ты свой запрос запускал?
Да, собственно так он и родился
А после попытки запустить твой -
Код: plaintext
1.
You tried to execute a query that does not include the specified expression 
'IIf(.... бла-бла-бла ... ))))' as part of an aggregate function
...
Рейтинг: 0 / 0
20.12.2004, 14:52:24
    #32835027
Народ помогите , курсач горит
Когда я запускаю запрос как ты предложил, появляется сообщение:

Попытка выполнить запрос, который не включает указанное выражение 'Room' как часть статистической функции или группы
...
Рейтинг: 0 / 0
20.12.2004, 15:27:53
    #32835151
Народ помогите , курсач горит
Такое сообщение появлялось из-за отсутсвия групповой опереции.

Но результат выполнения запроса такой же.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Народ помогите , курсач горит / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]