![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как правильно создать SQL-запрос? [D6, Access]
DECL © (2003-10-08 00:41:00)
Уважаемые Мастера!
Кому-то этот вопрос может показаться лёгким, но я долблюсь над одним SQL-запросом уже 2 дня. Суть в следующем:
В Accesse есть данные о ж.д. В них есть поля "Длина км", "Код направления" и поле "Оценка км", которое может принимать значения О(отл), Х(хор), У(удовл) и Н(неуд).
Требуется:
- подсчитать в одном запросе сумму километров с оценками О,Х,У и Н по каждому направлению, т.е. например
! Код напр ! О ! Х ! У ! Н !
! X-Y ! 5,2 ! 2 ! 3,2 ! 4 !
Я делал так:
- делал четыре запроса для выделения каждой оценки км по всем напрвлениям;
- создавал пятый запрос который из этих четырёх выбирает по коду направления сумму О,Х,У и Н км для каждого напраления.
Проблема состоит в том, что если какое-то направление имеет только один вид оценки (например все километр отличные), то в итоговом запросе оно не отображается. Как быть?
Заранее благодарен за ответ...
DECL (2003-10-08 02:04:00) [1]
Уф.....
После нескольких минут общения с хелпом нашёл то что нужно.
Создал перекрёстный запрос с помощью мастера и всё заработало.
Всем спасибо.
x_ANDREW_x (2003-10-08 01:32:00) [2]
>>DECL (08.10.03 01:30)
В Аксесе есть ср-во для построения "КУБА" (если мне не наврали) используй его!!!
DECL (2003-10-08 01:30:00) [3]
>x_ANDREW_x
Ладно, буду ждать...
Всё равно спасибо.
Johnmen (2003-10-08 01:28:00) [4]
Понятно...
Тогда тебе смотреть в сторону документации по аксесу, ключевое слово Pivot.
x_ANDREW_x (2003-10-08 01:27:00) [5]
Это кросс-таблица получается! Я по ним как-то задавал вопрос... молчание! Мой совет не трать время, решение само придет!
DECL (2003-10-08 01:18:00) [6]
Наверное всё-таки я не так задал вопрос..
По Вашим решениям я получаю нужные данные, но только в разных записях, а мне нужно, чтобы все оценки км. были в одной строке.
Johnmen (2003-10-08 01:14:00) [7]
>x_ANDREW_x (08.10.03 01:04)
Так я же не видел, что ты сказал, когда сам говорил :)))
>DECL
Уже ответили [2] [3].
DECL (2003-10-08 01:11:00) [8]
Попытаюсь..
Есть такая база данных:
Код направления ! Оценка километра ! Длина километра
A-B O 1
A-B X 1
A-B У 0,3
A-B Н 1
B-C О 0,2
Необходимо привести её к виду:
Код направления ! Отл. км ! Хор км. ! Уд км. ! Неуд км.
А-В 1 1 0,3 1
В-С 0,2 0 0 0
Моё решение:
1) создал четыре запроса вида:
Код направления ! Оценка км ! Длина км.
А-В 0 1
В-С О 0,2
Код направления ! Оценка км ! Длина км.
А-В Х 1
Код направления ! Оценка км ! Длина км.
А-В У 0,3
Код направления ! Оценка км ! Длина км.
А-В Н 1
2) создал пятый запрос, который из четырёх выбирает нужные данные:
Код направления ! Отл. км ! Хор км. ! Уд км. ! Неуд км.
А-В 1 1 0,3 1
Проблема в том, что в итоговом запросе не отображается направление для которого имеются оценки не всех видов(О,Х,У,Н), а только часть.
Надеюсь подробно объяснил?
никто (2003-10-08 01:09:00) [9]
это неправда! не обещал я ему ничего!!!
Е-Моё имя (2003-10-08 01:07:00) [10]
> мою проблему никто не решил!
а он тебе обещал что решит?
x_ANDREW_x (2003-10-08 01:04:00) [11]
>> Johnmen © (08.10.03 00:57)
ОГО! А я что сказал???
>> DECL
не слушай никого!!! Пиши как я сказал!
>> Johnmen © (08.10.03 00:57)
Не обижайся я типа шутю, т.к. мою проблему никто не решил! :))
Johnmen (2003-10-08 00:57:00) [12]
>Zacho ©
Игорь, куда уж подробнее :)))
>DECL
SELECT "Код направления", "Оценка км", SUM("Длина км")
FROM Table
GROUP BY "Код направления", "Оценка км"
Дальше остается только отбросить то, в чем проблема :)
Но это зависит от того, какие еще поля есть в табл. Приведи их и их сущность...
x_ANDREW_x (2003-10-08 00:55:00) [13]
>> DECL
В чем проблема???
select sum("Длина км"),"Код направления","Оценка км" from
"данные о ж.д." group by "Код направления","Оценка км"
так пробовал или я что-то упустил???
Zacho (2003-10-08 00:45:00) [14]
Более подробно опиши задачу.