Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
3-12637
SiJack
2003-04-15 14:27
2003.05.05
Как создать запрос SQL?


14-12906
alxx
2003-04-14 15:19
2003.05.05
Жутко извиняюсь, но вакансия.


3-12674
Tornado
2003-04-15 12:55
2003.05.05
Имена таблиц


8-12833
arcoant
2003-01-29 15:25
2003.05.05
Equaliser & BitRate


1-12767
exo
2003-04-22 04:52
2003.05.05
button





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский