Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.27;
Скачать: CL | DM;

Вниз

Как правильно создать 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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.025 c
14-89496
Holy
2003-10-09 16:34
2003.10.27
Отечественные мультики


14-89563
Dimaz-z
2003-10-06 18:02
2003.10.27
Оцените прогу - Телефонная записная книжка - можно звонить, sms..


1-89391
RoLeX
2003-10-15 12:17
2003.10.27
Как убрать из панели задач мою программу??


1-89202
PolarS
2003-10-15 13:42
2003.10.27
Как изменить свойства таблицы MS Word из Builder?


4-89638
Andrey_g
2003-08-21 18:52
2003.10.27
Как прочитать данные по конкретному адресу на CD