powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Запрос на основе результатов другого
10 сообщений из 10, страница 1 из 1
Запрос на основе результатов другого
    #32292927
Катерина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно ли сделать два запроса так, чтобы второй запрос использовал только результаты первого запроса?
(Через VIEW не получится, потому что оба запроса динамически формируются в приложении)
...
Рейтинг: 0 / 0
Запрос на основе результатов другого
    #32292951
cid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это называется вложенные запросы
пример
SELECT * FROM Tab1 WHERE ID_Tab1=(SELECT ID_Tab2 FROM Tab2)
и все :)
...
Рейтинг: 0 / 0
Запрос на основе результатов другого
    #32292991
Катерина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А иначе никак?
Потому, что писать это раз 15-20 не очень хочется....
...
Рейтинг: 0 / 0
Запрос на основе результатов другого
    #32292996
cid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты попдробней опиши, что значит 20 раз
Сделай цикл
...
Рейтинг: 0 / 0
Запрос на основе результатов другого
    #32293014
Катерина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть некий запрос
select
(select count(abkey) from ab where sckey=25),
(select count(abkey) from ab where (sckey=25) and (n = 1) and ((balle1 = 0) or (balle1 is null))),
(select count(abkey) from ab where (sckey=25) and (n = 2) and ((balle2 = 0) or (balle2 is null))),
(select count(abkey) from ab where (sckey=25) and (n = 3) and ((balle3 = 0) or (balle3 is null))),
(select count(abkey) from ab where (sckey=25) and (n = 4) and ((balle4 = 0) or (balle4 is null))),
(select count(abkey) from ab where (sckey=25) and (n = 1) and (balle1=5)),
(select count(abkey) from ab where (sckey=25) and (n = 2) and (balle2=5)),
(select count(abkey) from ab where (sckey=25) and (n = 3) and (balle3=5)),
(select count(abkey) from ab where (sckey=25) and (n = 4) and (balle4=5)),
(select count(abkey) from ab where (sckey=25) and (n = 1) and (balle1=4)),
(select count(abkey) from ab where (sckey=25) and (n = 2) and (balle2=4)),
(select count(abkey) from ab where (sckey=25) and (n = 3) and (balle3=4)),
(select count(abkey) from ab where (sckey=25) and (n = 4) and (balle4=4)),
(select count(abkey) from ab where (sckey=25) and (n = 1) and (balle1=3)),
(select count(abkey) from ab where (sckey=25) and (n = 2) and (balle2=3)),
(select count(abkey) from ab where (sckey=25) and (n = 3) and (balle3=3)),
(select count(abkey) from ab where (sckey=25) and (n = 4) and (balle4=3)),
(select count(abkey) from ab where (sckey=25) and (n = 1) and (balle1=2)),
(select count(abkey) from ab where (sckey=25) and (n = 2) and (balle2=2)),
(select count(abkey) from ab where (sckey=25) and (n = 3) and (balle3=2)),
(select count(abkey) from ab where (sckey=25) and (n = 4) and (balle4=2)),
(select count(abkey) from ab where (sckey=25) and (n = 1) and (balle1=5) and (sp11key=115)), (select count(abkey) from ab where (sckey=25) and (n = 2) and (balle2=5) and (sp11key=115)), (select count(abkey) from ab where (sckey=25) and (n = 3) and (balle3=5) and (sp11key=115)), (select count(abkey) from ab where (sckey=25) and (n = 4) and (balle4=5)and (sp11key=115)), 25,26,27,28,29,30,31,32,33,34,35,36,37,38,39 from cw where cwKey=1

sckey будет меняться....но шаг задать нельзя...
и вместо ab надо подставить

select abKey,fckey,scKey,sp11Key,sp12Key,BallE1,BallE2,BallE3,BallE4,sc.e1key,sc.e2key,sc.e3key,sc.e4key,(1) n from ab join sc on ab.sckey=sc.sckey where fckey=1 and sc.e1key=84 UNION select abKey,fckey,scKey,sp11Key,sp12Key,BallE1,BallE2,BallE3,BallE4,sc.e1key,sc.e2key,sc.e3key,sc.e4key,(2) n from ab join sc on ab.sckey=sc.sckey where fckey=1 and sc.e2key=84 UNION select abKey,fckey,scKey,sp11Key,sp12Key,BallE1,BallE2,BallE3,BallE4,sc.e1key,sc.e2key,sc.e3key,sc.e4key,(3) n from ab join sc on ab.sckey=sc.sckey where fckey=1 and sc.e3key=84 UNION select abKey,fckey,scKey,sp11Key,sp12Key,BallE1,BallE2,BallE3,BallE4,sc.e1key,sc.e2key,sc.e3key,sc.e4key,(4) n from ab join sc on ab.sckey=sc.sckey where fckey=1 and sc.e4key=84 Order by 2

Где также будут изменяемые параметры..
...
Рейтинг: 0 / 0
Запрос на основе результатов другого
    #32293030
cid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну тут без Хранимой процедуры будет действительно громоздко.
Напиши процедуру в которую будут передавться изменяемые значения, а в ней опиши сам select и все. А потом вызывай ее хоть 100 раз :)
...
Рейтинг: 0 / 0
Запрос на основе результатов другого
    #32293039
Катерина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И как это приблизительно будет выглядеть с хранимой процедурой?
...
Рейтинг: 0 / 0
Запрос на основе результатов другого
    #32293229
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Девушка, используйте FIBPlus - там такие можно творить чудеса !!! Вот.
...
Рейтинг: 0 / 0
Запрос на основе результатов другого
    #32293740
Roman Ignatiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С такой структурой таблиц и FIBPlus не поможет
...
Рейтинг: 0 / 0
Запрос на основе результатов другого
    #32294341
Катерина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я остановилась все же на хранимой процедуре
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Запрос на основе результатов другого
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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