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