Консультация № 29713
17.11.2005, 12:43
0.00 руб.
0 4 3
Вечер добрый господа хорошие.
Снова еще один вопрос стал ребром.
Как создать запрос из другого запроса, то есть певый запрос делает выборку с начала года из таблицы, а второй из этого запроса за день?
Нужно именно так.

Обсуждение

Неизвестный
17.11.2005, 13:08
общий
это ответ
Здравствуйте, Voldmir!

Например... см. приложение.

А по другому... передавать данные первого запроса в качестве параметров второму.

Приложение:
select a1.MyField1 from (select MyField1 from MyTable where MyField2 = 10) a1whereMyField1 > 100
давно
Мастер-Эксперт
425
4118
17.11.2005, 13:11
общий
это ответ
Здравствуйте, Voldmir!
Нет, так нельзя. Если у Вас сервер БД (InterBase, например), то можно сделать View с начала года, а уж из этого View сделать выборку за нужный Вам день.
Об авторе:
Я только в одном глубоко убеждён - не надо иметь убеждений! :)
Неизвестный
18.11.2005, 11:43
общий
это ответ
Здравствуйте, Voldmir!

1) Непонятно зачем, почему нельзя все вложить в один Where?
2) Если это нужно по требованиям интерфейса, то делашь 2 Query, один делает первый запрос и пользователь из него выбирает день, второй делает запрос по выбранному дню. Это много проще для понимания, на порядок быстрее работает.
3) Корявый вариант -
Делаешь представление (View) по первому запросу, второй запрос делаешь из View как из таблицы.
Коряво, потому что View штука статическая, а начало этого года и начало следующего года вещи разные - будешь каждый год менять View?
Неизвестный
04.12.2013, 10:09
общий
Уважаемые коллеги,
Запрос из запроса можно сделать.
Есть компонент TxQuery
в datasets прописываете учавствующие dataset'ы
назначете им alias'ы и в sql указываете select Из них
т.е. данные будут браться не из бд. а из уже отобранных
поддерживается SQL92
версию Лучше брать из репозитария, т.к. пофикшено много багов
т.е. версия от D2007
Форма ответа