Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.02.22;
Скачать: CL | DM;

Вниз

Вложенный запрос с 2мя параметрами   Найти похожие ветки 

 
REA   (2008-07-07 14:52) [0]

Добрый день коллеги. Помогите с запросом IB. Требуется составить запрос вида:

Select * from T1 where T1.P1 > (select P1 from T2 where...) and T1.P2 < (select P2 from T2 where ...)

причем вот этот второй вложенный select и третий это тоже самое.
Т.е. запрос должен бы выглядеть как то так (по смыслу, но не по синтаксису - понятно что такого запроса не бывает):

Select * from T1 where T1.P1 >, T1.P2 < (select P1, P2 from T2 where...)


 
Anatoly Podgoretsky ©   (2008-07-07 14:53) [1]

В приведеном коде не то, что второго параметра не видать, но и первого тоже.


 
Правильный^Вася   (2008-07-07 15:03) [2]

телепатор подсказывает, что раз подзапросы одинаковые, то автор хочет чтоб параметры по 2 раза не присваивать


 
REA   (2008-07-07 15:08) [3]

допустим таблица T1 содержит столбцы (числовые) P1 и P2. T2 тоже содержит пары чисел P1, P2.
P1 и P2 в данном случае не фиксированные пары чисел, а получаются из T2. Стало быть параметры.
Если я не прав в терминологии извиняюсь, но смысл думаю понятен.


 
REA   (2008-07-07 15:09) [4]

>телепатор подсказывает, что раз подзапросы одинаковые, то автор хочет чтоб параметры по 2 раза не присваивать

воистину. мало того - значение P1 второго запроса должно соответствовать P2 третьего запроса. Т.е. они должны быть из одной строки T2


 
Поросенок Винни-Пух ©   (2008-07-07 15:15) [5]

для этого параметры вообще не нужны.


 
REA   (2008-07-07 15:18) [6]

У меня телепатор гораздо хуже работает.
А что нужно? Можно примерчик?


 
Поросенок Винни-Пух ©   (2008-07-07 15:20) [7]

where t1.f1 = t2.ff1 and t1.f2 = t2.ff2 и так далее


 
REA   (2008-07-07 15:29) [8]

хм. попробую. спасибо.


 
Sergey13 ©   (2008-07-07 15:35) [9]

> [0] REA   (07.07.08 14:52)

А какая связь между таблицами?


 
REA   (2008-07-07 15:46) [10]

хм. да никакой связи.

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


 
Sergey13 ©   (2008-07-07 15:51) [11]

> [10] REA   (07.07.08 15:46)
> хм. да никакой связи.

Тогда что мыслилось вместо многоточия в исходном подзапросе?


 
Виталий Панасенко(дом)   (2008-07-08 06:52) [12]


> REA   (07.07.08 15:46) [10]
>
> хм. да никакой связи.
>
> спасибо за совет - работает. правда придется логику программы
> переделать, но такой вариант подойдет.

А зачем ее менять, если выборка вернет то, что нужно?


 
RUYurik   (2008-07-08 08:00) [13]

В подзапросах подразумевалось возвращение результата из множества записей. Вопрос, где условия в подзапросах, по которым возможно возвратить 1 значение для сравнения? И если все таки есть связь между таблицами не лучше ли воспользоваться JOIN"ом

select T1.*
from T1
  left outer join T2 on (T2.Поле связи = T1.Поле связи)
where
  T1.P1 > T2.P1 and
  T1.P2 < T2.P2



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

Текущий архив: 2009.02.22;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.015 c
15-1230323029
Kerk
2008-12-26 23:23
2009.02.22
Отмечание нового года


15-1230194028
Владимир Юдин
2008-12-25 11:33
2009.02.22
Нужен Delphi-программист для работы в Екатеринбурге


15-1230166589
XentaAbsenta
2008-12-25 03:56
2009.02.22
Поиск циклических связей между таблицами в БД


2-1231503096
neveGreen
2009-01-09 15:11
2009.02.22
Дин аррай


11-1183565514
Delphuk
2007-07-04 20:11
2009.02.22
Работа с TreeView