Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Запрос [D7, IB6.x]


Lamer2 ©   (2004-04-12 16:11:00) 

Уважаемые Мастера!!!!!! Вопрос простой, есть 2 таблицы T1(id, name) и T2(id, id_T1, name), связь один ко многим, T1.id = T2.id_T1, мне надо найти все записи из таблицы T1, где встречаются записи из T2 с name равным например 'sql'?


serge35   (2004-04-12 17:34:00) [1]

Эти запросы идентичные, только второй по идее должен выполняться быстрее.


Lamer2   (2004-04-12 17:22:00) [2]

>serge35
я так же подумал, только
select * from t1
where t1.id in (select distinct t2.id where t2.name='sql')
а то записи повторятся будут наверное, дома проверю


serge35   (2004-04-12 17:15:00) [3]

select * from t1
where t1.id in (select t2.id where t2.name='sql')
Это будет вложенный запрос, но результат будет такой же.


Lamer2   (2004-04-12 17:06:00) [4]

ну типа этого
select * from T1 where exists (select * from T2 where name ='sql')
только этот запрос не работает, он либо все записи выдает, либо ни одной!


serge35   (2004-04-12 17:01:00) [5]

А как тогда понимать это:
"мне надо найти все записи из таблицы T1, где встречаются записи из T2 с name равным например 'sql'?"


Lamer2   (2004-04-12 16:59:00) [6]

интересно, а этот запрос с подзапросом можно сделать?


innok   (2004-04-12 16:57:00) [7]

используй в select'e  distinct


sniknik   (2004-04-12 16:56:00) [8]

годится, distinct поставь только и все.


Lamer2   (2004-04-12 16:48:00) [9]

>serge35
не годится, так как если в таблице T2 есть 2 записи с полем name='sql' и у них id_T1 равный, то он выдаст 2 одинаковые строки из T1


serge35   (2004-04-12 16:38:00) [10]

select * from t1, t2
where t1.id=t2.id
and t2.name='sql'


Lamer2   (2004-04-12 16:26:00) [11]

АУ


Наверх

Титульная страница Поиск, карта сайта Написать письмо