Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Запрос2 :) / 9 сообщений из 9, страница 1 из 1
22.02.2007, 21:32
    #34351339
Karyuudo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос2 :)
Пожалуйста помогите ещё сделать несколько запросов, для курсовой, очень нужно :)
да и вы заодно разомнетесь - вспомните ;) или хотяб подскажите..
вообщем ближе к делу :) -

1) имеются 3 таблицы. со столбцами допустим:
1) 2) 3)
А А Б Б В Г
так вот из этого, нужно чтобы была выходная таблица, со столбиками:
А В Г
причем Г это среднее между всеми повторяющимися В
а В выбирается из списка на форме из таблицы 3
а А выбирается из списка на форме из таблицы 1
2) те же таблицы все тоже... только нужно чтобы отобразилось
А Г , причем Г среднее из всего что осталось . тоесть В не выбирается, а А также задается

ой чет я намудрил.. :) вообщем если криво обьяснил вот такой текст задания:
Определить средний балл по группе и всем группам в пределах конкретной дисциплины.
в первой таблице названия дисциплин,
во второй название дисциплины а также наименование опроса,
а в третьей наименование опроса и код группы и оценка.
...
Рейтинг: 0 / 0
23.02.2007, 00:38
    #34351498
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос2 :)
Вычислением среднего занимается функция AVG(). Ответ на вопросы - это разные признаки группировки. Но суть одна и та же. Запросы вида:

SELECT GroupId, AVG(FieldValue) FROM MyTab GROUP BY GroupId

FieldValue - это поле, среднее значение которого надо определить
GroupId - это поле, в пределах которого вычисляется это среднее значение

Например, средний балл по группе, означает, что GroupId - код группы, а FieldValue - поле со значением балла.

Если нужен просто средний балл по всему списку, то группировку опускают

SELECT AVG(FieldValue) FROM MyTab

Ну, и ко всему этому добавляется объединение 3 таблиц между собой.
...
Рейтинг: 0 / 0
26.02.2007, 14:53
    #34355071
?
?
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос2 :)
не очень понял как связать.. потому сделал еще 1 столбик, и сделал такой запрос:

CLOSE TABLES all
USE sessia!student
SELECT avg(ocen) as Средняя_оценка FROM student WHERE student.kg = thisform.combo2.Value AND student.nd = thisform.combo1.Value


вроде всеработает, щитает, однако после первого же запроса, после закрытии получившейся таблицы выскакивает сообщение - Cannot acsess the selected table ну и повисает.. как это убрать?
...
Рейтинг: 0 / 0
26.02.2007, 15:05
    #34355109
Роман Новичек
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос2 :)
У тебя в Combo в свойстве RowSource что прописанно? Если таблица, то перед закрытием таблиц сбрось его (Combo.RowSource='')
...
Рейтинг: 0 / 0
26.02.2007, 16:34
    #34355462
!
!
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос2 :)
в первом комбо-prepodavatel.pd
а во втором-student.kg

еще заметил что не обязательно закрывать чтобы ошибка появилась.. я просто подвинул, и кликунул на форму, и опять таже ошибка.. просто после нее блокируется комбо, и нужно делать выход чтобы поновой посчитать

Combo.RowSource='' а это не помогает .всеравно таже ошибка..
...
Рейтинг: 0 / 0
26.02.2007, 22:15
    #34356192
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос2 :)
?не очень понял как связать..
Понимание SQL (Understanding SQL)

?потому сделал еще 1 столбик, и сделал такой запрос:

CLOSE TABLES all
USE sessia!student
SELECT avg(ocen) as Средняя_оценка FROM student WHERE student.kg = thisform.combo2.Value AND student.nd = thisform.combo1.Value

вроде всеработает, щитает, однако после первого же запроса, после закрытии получившейся таблицы выскакивает сообщение - Cannot acsess the selected table ну и повисает.. как это убрать?
А почитать HELP по тем командам, которые использовали не пробовали? Вы хоть поняли ЧТО сделали? Да даже не HELP, а просто перевести название ключевых слов на русский

CLOSE TABLES all - закрыть таблицы ВСЕ.

Как Вы думаете, какие таблицы-источник данных остануться доступными после такой команды? Так что "Cannot acsess ..." вполне закономерно. Вы же сами все закрыли. Какой уж тут "access"

Далее, приведенный Вами запрос конечно же "щитает". Весь вопрос в том, что именно? И куда Вы посылаете результат это "щета"? "На деревню, дедушке"?

Вы получаете одно число. Надо понимать по выбранным значениям ComboBox. Результат отображется в Browse-окне. И что? Что Вы собираетесь дальше с этим числом делать? Как минимум, в команде Select-SQL надо использовать опцию INTO, чтобы потом можно было программно работать с результатом выполнения запроса.
...
Рейтинг: 0 / 0
27.02.2007, 13:32
    #34357498
?
?
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос2 :)
SELECT INTO avg(ocen) .....
ну добавил инто, вообще теперь не принимает..
а про закрытие, вроде же при нажатии кнопки будут закрываться, а затем опять открываться. значит должно работать..

попробовал удалить close tables all, и начинается перемешиватся инф. в комбо1 и комбо2 местами..
...
Рейтинг: 0 / 0
27.02.2007, 13:45
    #34357566
:
:
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос2 :)
хм.. перемешалось в другом запросе.. даже не перемешалось а просто некоторые записи одной таблицы попали в другою.. щас исправил поидее должно нормально
во! нет ошибки, нашел способ! :)
CLOSE TABLES all
USE sessia!student
эту фразу просто стер, и теперь все работает :)
...
Рейтинг: 0 / 0
27.02.2007, 13:46
    #34357567
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос2 :)
Извините, конечно, но Вы HELP читать не пробовали? Синтаксис команды Select-SQL? Там даже примеры есть...
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Запрос2 :) / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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