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

Вниз

Запрос   Найти похожие ветки 

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

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


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

АУ


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

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


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

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


 
sniknik ©   (2004-04-12 16:56) [4]

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


 
innok ©   (2004-04-12 16:57) [5]

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


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

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


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

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


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

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


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

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


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

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


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

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



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

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

Наверх




Память: 0.48 MB
Время: 0.038 c
6-1075464303
Гвость
2004-01-30 15:05
2004.04.11
Компонент NMPOP3


14-1081956844
}|{yk
2004-04-14 19:34
2004.04.11
Первичный ключ - ошибка создания


4-1075123907
Igit
2004-01-26 16:31
2004.04.11
Как убить процесс созданный?


7-1069342120
pirat
2003-11-20 18:28
2004.04.11
Что происходит с FPU при переключении задач


14-1081913061
User_OKA
2004-04-14 07:24
2004.04.11
WinXP