Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Delphi+SQL. Как добавить запрос к уже выполненому запросу [D7, IB6.x]


Страницы:   1 2 3 4

alk ©   (2006-03-06 09:17:00) 

Есть заброс который выводит данные из 3х таблиц, как сделать новый запрос, чтобы выбрать данные из уже выполненного отчета. Например есть база книг с кодами книг, автора и издательства. В начале выводиться все книги, затем пользователь выбирает автора, как вывести всех авторов не меняя самый первый запрос. И затем пользователь выбирает издательство, как не меняя те два запроса отсортировать таблицу???


alk   (2006-03-06 10:03:00) [61]

вот первый запрос который выберает всех авторов

select * from Book, avtors,izdatelstva,litra where avtors.kod_avtora=:kod_avt and book.kod_izdatelstva=izdatelstva.kod_izdatelstva and book.kod_tip_litra=litra.kod_tip_litra and book.kod_avtora=:kod_avt

второй запрос который выбирает все издательства

select * from Book, avtors,izdatelstva,litra where avtors.kod_avtora=book.kod_avtora and izdatelstva.kod_izdatelstva=:kod_izd and book.kod_tip_litra=litra.kod_tip_litra and book.kod_izdatelstva=:kod_izd

как их модифицировать???


Sergey13   (2006-03-06 09:54:00) [62]

2[4] alk ©   (06.03.06 09:40)
>а как так чтобы если пользователь не выбрал какой то пораметр
where....
...and ((:par is null) or (field_name=:par))


alk   (2006-03-06 09:51:00) [63]

а если в таблице будет 5000 записей, наверное будет проблемотично их переносить из одной базы в другую?


Ormada   (2006-03-06 09:48:00) [64]

ну делай временную таблицу в памяти(Rx к примеру) заполняй её а потом использую Rx какой то там query (а-ля TxQuery)можешь делать запросы к таблице


alk   (2006-03-06 09:40:00) [65]

а как так чтобы если пользователь не выбрал какой то пораметр, то параметр в sql выбирал все записи? у меня получаеться если не чего не выбираеться то значение равно  null. а как сделать чтобы было не null а все записи?


Sergey13   (2006-03-06 09:38:00) [66]

2[2] alk ©   (06.03.06 09:27)
Обычно - сначала спрашивают, что надо, потом делают, а не наоборот.
Можно написать универсальный запрос с параметрами, учитывающий все вводимые параметры (этот способ предпочтительнее всего). Можно переписывать текст запроса, анализирую пользовательский выбор (менее предпочтительно). Можно загрузить все себе и потом извращаться на клиенте с фильтрацией/сортировкой (возможно, но на больших объемах можно и обломиться ждавши). По разному в общем можно.


alk   (2006-03-06 09:27:00) [67]

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


Sergey13   (2006-03-06 09:23:00) [68]

2alk ©   (06.03.06 09:17)
>В начале выводиться все книги,
Зачем?

>затем пользователь выбирает автора,
Почему не сразу спросить его об авторе?

>как вывести всех авторов не меняя самый первый запрос.
Выполнить второй.


Страницы:   1 2 3 4

Наверх

Титульная страница Поиск, карта сайта Написать письмо