Форум: "Базы";
Текущий архив: 2003.05.05;
Скачать: [xml.tar.bz2];
ВнизФильтр Query1 по Query2 Найти похожие ветки
← →
galexis (2003-04-08 16:28) [0]Уважаемые мастера!
Есть два Query с одинаковыми полями ID1. Как в одном из них оставить только те записи, которые есть в другом?
← →
Mike Kouzmine (2003-04-08 16:33) [1]filter="id1=id2"
filtered:=true
← →
Соловьев (2003-04-08 16:35) [2]
select t1.*
from table1 t1 join table2 t2 on t1.id1=t2.id1
← →
galexis (2003-04-08 16:54) [3]>Mike Kouzmine ©
А что здесь id2?
В Query1 записей больше, чем в Query2 и в Query1 есть ID1, которых нет в Query2. Надо чтобы в Query1 остались только те записи в которых есть ID1 из Query2.
>Соловьев ©
Как связывать таблицы с помощью JOIN я знаю. Или Вы имеете ввиду что можно делать запрос указывая вместо таблицы БД Query?
← →
NickBat (2003-04-08 16:58) [4]А зачем указывать вместо таблиц запрос?
Соловьев © (08.04.03 16:35) все верно указал, только подставь туда еще where и будет тебе счастье. :)
← →
Mike Kouzmine (2003-04-08 17:05) [5]id2 - это то, что надо.
← →
galexis (2003-04-08 17:06) [6]Есть большая поисковая форма в программе, формируется запрос на выбор из более чем 30 таблиц. Структура БД безобразная (не я делал). Я не могу все условия задать одним запросом, могу двумя. Вот и получается два Query, но их как-то объединить надо. Один из выходов - использовать OnFilterRecord, но это медлено, записей то около миллиона. Так как можно объединить результаты двух запросов?
← →
NickBat (2003-04-08 17:10) [7]> Я не могу все условия задать одним запросом, могу двумя.
Это как?
И ты определись, что тебе нужно:
-обьеденить результаты двух запросов
-в одном из них оставить только те записи, которые есть в другом
Это все таки немножко разные вещи.
← →
galexis (2003-04-08 17:22) [8]>Mike Kouzmine ©
Как я понимаю, в фильтре в правой части может быть одно значение, а у меня их тысячи.
>NickBat ©
Я имел ввиду, что не могу из БД выбрать удовлетворяющие всем условиям записи используя один SQL запрос. Это связано со структурой БД. Могу одним запросом выбрать данные из одной группы таблиц, а другим из другой. Получаю два набора данных. Один большой, второй поменьше. В них есть одно общее поле (поле связи).
← →
Mike Kouzmine (2003-04-08 17:26) [9]тогда прошу прощения.
← →
Соловьев (2003-04-08 17:30) [10]ХП зачем придумали???
← →
Johnmen (2003-04-08 17:38) [11]+ VIEW зачем придумали???
← →
galexis (2003-04-08 17:44) [12]>Соловьев ©
А по подробнее. Что такое ХП?
>Johnmen ©
И что такое VIEW?
← →
Johnmen (2003-04-08 17:51) [13]Некоторые подробности здесь :
Пуск->Программы->InterBase->Documentation
← →
Diouzshev (2003-04-08 18:19) [14]Не помню работает ли такое в IB, но можно так:
select .......... where ........ and id1 in (select ..............)
Но все же лучше хп.
← →
NickBat (2003-04-08 18:20) [15]> Могу одним запросом выбрать данные из одной группы таблиц,
> а другим из другой.
Что-то ты не договариваешь. :)))
Сам говорил в начале, что есть два Query с одинаковыми полями ID1. То есть эти два запроса имеют общее поле:
Теперь ответь почему их нельзя сразу связать?
← →
VPman (2003-04-16 02:41) [16]Если до этого момента все через ж$#$ шло, так можно и для второй квери и временную таблицу создать. Это я так, шучу.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.05.05;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.006 c