Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.12.05;
Скачать: [xml.tar.bz2];

Вниз

Создание SQL запроса   Найти похожие ветки 

 
Лесникова Марина   (2002-11-16 10:33) [0]

Мною разрабатывается программа "Ведение бух.учета по оплате за обучение студентами".
Как составить SQL - запрос (или TQuery) для того, чтобы в основном Gride отображались записи,
соответствующие группе студентов, выбранной во вспомогательном Gride.
Если кто - нибудь составляет подобную программу, напишите пожалуйста мне на E - mail: lesnikova@mail.kz. Марина.


 
Котелок   (2002-11-16 11:19) [1]

Вообше-то вопрос вызывает ещё больше вопросов, чем ответов.

Если я правильно понял, то есть две таблицы одна студенты, вторая оплаты. И связанны они по какомулибо полю (код студента)?

Тогда Sql запрос будет, в обшем, выглядеть так:

select opl.* from <имя таблицы оплат> opl, <имя таблицы студентов> stud where opl.<поле ID студента> = stud.<поле ID студента>


 
Alex-kosmonavt   (2002-11-16 11:43) [2]

Вообще-то в некоторых случаях можно и проще
самом деле существует механизм связывания таблиц


 
Котелок   (2002-11-16 12:13) [3]


> Alex-kosmonavt (16.11.02 11:43)
> Вообще-то в некоторых случаях можно и проще
> самом деле существует механизм связывания таблиц


Просто спрашивали, как через TQuery, а только такой путь вижу. Мастер-Детаил только для TTable хорошо.


 
Hun   (2002-11-17 00:06) [4]

Можно либо действительно использовать Masterdetail, либо (что на мой взгляд лучше) пользоваться событиями AfterScroll у Query или OnDataChange у DataSource. А писать надо нечто в таком духе
query2.Close;
query2.ParamByName("StudentGroupId").AsInteger:=
query1.FieldByName("StudentGroupId").AsInteger
query2.Open;


 
Fantasist   (2002-11-18 00:43) [5]


> Просто спрашивали, как через TQuery, а только такой путь
> вижу


А еще есть такая вещь как фильтрация. Tquery.Filter, Tquery.Filtered, Tquery.FilterOptions.


 
Котелок   (2002-11-18 05:56) [6]


> А еще есть такая вещь как фильтрация. Tquery.Filter, Tquery.Filtered,
> Tquery.FilterOptions.


Ну да есть такая вешь, но если записей становися достаточно много, то фильтрация нацинает показывать свои "плюсы" в скорости.


 
Fantasist   (2002-11-18 07:45) [7]


> Ну да есть такая вешь, но если записей становися достаточно
> много, то фильтрация нацинает показывать свои "плюсы" в
> скорости.


Конечно. Зависит от того, насколько часто надо обновлять данные и насколько велики объемы. А так, подгрузить данные один раз и потом их фильтровать значительно быстрее. Условий задачи мы не знаем, а упомянуть возможности можем.


 
Victor_Cr   (2002-11-18 10:51) [8]

Создаешь два запроса TQuery, в первом откуда выбираеться группа студентов просто делаешь запрос на выбор всех групп.
А во второй запросе передаешь как параметр выбраную группу, например:


Query1.SQL = "select groupID,groupNM from groups"

Query2.SQL = "select * from infogroup where <КЛЮЧЕВОЕ ПОЛЕ> = :groupID"

где groups - справочник групп, infogroup - справочная информация по каждой группе.

после этого связываешь Query2 с DataSource Query1. И если я правильно понял задачу, будет работать.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2002.12.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.007 c
6-14703
yurez
2002-10-03 12:55
2002.12.05
как подключиться к базе данных в интернете (mysql)?


1-14489
Eugene_T
2002-11-26 08:05
2002.12.05
Интерфейс


4-14880
Dead Stark
2002-10-24 08:48
2002.12.05
Может кто подскажет, как получить имя пользователя?


4-14881
Igor_thief
2002-10-20 18:57
2002.12.05
ProgressBar и StatusBar


3-14416
Alexey Goosev
2002-11-16 13:26
2002.12.05
Предикат CONTAINING (ламерский вопос :)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский