Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Запрос на основе результатов другого / 10 сообщений из 10, страница 1 из 1
14.10.2003, 16:17
    #32292927
Катерина
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на основе результатов другого
Можно ли сделать два запроса так, чтобы второй запрос использовал только результаты первого запроса?
(Через VIEW не получится, потому что оба запроса динамически формируются в приложении)
...
Рейтинг: 0 / 0
14.10.2003, 16:29
    #32292951
cid
cid
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на основе результатов другого
Это называется вложенные запросы
пример
SELECT * FROM Tab1 WHERE ID_Tab1=(SELECT ID_Tab2 FROM Tab2)
и все :)
...
Рейтинг: 0 / 0
14.10.2003, 16:51
    #32292991
Катерина
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на основе результатов другого
А иначе никак?
Потому, что писать это раз 15-20 не очень хочется....
...
Рейтинг: 0 / 0
14.10.2003, 16:52
    #32292996
cid
cid
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на основе результатов другого
Ты попдробней опиши, что значит 20 раз
Сделай цикл
...
Рейтинг: 0 / 0
14.10.2003, 17:00
    #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
14.10.2003, 17:09
    #32293030
cid
cid
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на основе результатов другого
Ну тут без Хранимой процедуры будет действительно громоздко.
Напиши процедуру в которую будут передавться изменяемые значения, а в ней опиши сам select и все. А потом вызывай ее хоть 100 раз :)
...
Рейтинг: 0 / 0
14.10.2003, 17:13
    #32293039
Катерина
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на основе результатов другого
И как это приблизительно будет выглядеть с хранимой процедурой?
...
Рейтинг: 0 / 0
14.10.2003, 18:40
    #32293229
Gold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на основе результатов другого
Девушка, используйте FIBPlus - там такие можно творить чудеса !!! Вот.
...
Рейтинг: 0 / 0
15.10.2003, 11:02
    #32293740
Roman Ignatiev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на основе результатов другого
С такой структурой таблиц и FIBPlus не поможет
...
Рейтинг: 0 / 0
15.10.2003, 16:24
    #32294341
Катерина
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на основе результатов другого
Я остановилась все же на хранимой процедуре
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Запрос на основе результатов другого / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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